guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.2-59-geddd81


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.2-59-geddd81f
Date: Fri, 02 Sep 2011 11:38:47 +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=eddd81f4652db72a085f7c8dfe2ca04b7c4de829

The branch, stable-2.0 has been updated
       via  eddd81f4652db72a085f7c8dfe2ca04b7c4de829 (commit)
       via  cd4171d012f0ef2291274b5a9b26854c0223921b (commit)
       via  0c65f52c6d45f60e197fad7162d05c0fce89e817 (commit)
       via  1bbe0a631c4e72fffc033cb4f83eba7252ce3c9c (commit)
       via  dea14eb99bfb70f970db24f72340dfc9b98e0640 (commit)
      from  0b4f77192da214690aa811d13bb6a7f6dd576445 (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 eddd81f4652db72a085f7c8dfe2ca04b7c4de829
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 2 13:17:19 2011 +0200

    fix some cache consistency issues with goops and extended generics
    
    * module/oop/goops.scm (extended-by!, not-extended-by!)
      (upgrade-accessor, merge-generics): Invalidate the method cache after
      munging "extends" or "methods" fields.
      (invalidate-method-cache!): A new wrapper around
      %invalidate-method-cache!, that will also invalidate the caches of
      "extended-by" generics.
      (internal-add-method!, remove-class-accessors!): Use the new
      invalidate-method-cache!.

commit cd4171d012f0ef2291274b5a9b26854c0223921b
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 2 11:42:44 2011 +0200

    document define-syntax-rule
    
    * doc/ref/api-macros.texi (Syntax Rules): Add define-syntax-rule.

commit 0c65f52c6d45f60e197fad7162d05c0fce89e817
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 2 11:36:14 2011 +0200

    more define-syntax-rule usage
    
    * module/ice-9/boot-9.scm:
    * module/ice-9/control.scm:
    * module/ice-9/futures.scm:
    * module/ice-9/optargs.scm:
    * module/ice-9/poll.scm:
    * module/ice-9/receive.scm:
    * module/ice-9/threads.scm:
    * module/ice-9/vlist.scm:
    * module/language/assembly/compile-bytecode.scm:
    * module/language/ecmascript/compile-tree-il.scm:
    * module/language/tree-il.scm:
    * module/oop/goops.scm:
    * module/oop/goops/simple.scm:
    * module/oop/goops/stklos.scm:
    * module/srfi/srfi-1.scm:
    * module/srfi/srfi-35.scm:
    * module/srfi/srfi-39.scm:
    * module/srfi/srfi-45.scm:
    * module/srfi/srfi-67/compare.scm:
    * module/sxml/match.scm:
    * module/system/repl/error-handling.scm:
    * module/system/repl/repl.scm:
    * module/system/vm/inspect.scm:
    * module/texinfo.scm:
    * module/web/server.scm: Use define-syntax-rule, where it makes sense.

commit 1bbe0a631c4e72fffc033cb4f83eba7252ce3c9c
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 2 11:34:00 2011 +0200

    psyntax uses define-syntax-rule
    
    * module/ice-9/psyntax.scm: Use define-syntax-rule.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

commit dea14eb99bfb70f970db24f72340dfc9b98e0640
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 2 11:28:11 2011 +0200

    add define-syntax-rule
    
    * module/ice-9/psyntax.scm (define-syntax-rule): Add this new helper
      macro, to define a syntax-rules macro with one clause.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

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

Summary of changes:
 doc/ref/api-macros.texi                        |   19 +-
 module/ice-9/boot-9.scm                        |  132 +-
 module/ice-9/control.scm                       |   22 +-
 module/ice-9/futures.scm                       |    8 +-
 module/ice-9/optargs.scm                       |   12 +-
 module/ice-9/poll.scm                          |    7 +-
 module/ice-9/psyntax-pp.scm                    |15611 ++++++++++++------------
 module/ice-9/psyntax.scm                       |   87 +-
 module/ice-9/receive.scm                       |   14 +-
 module/ice-9/threads.scm                       |   56 +-
 module/ice-9/vlist.scm                         |   20 +-
 module/language/assembly/compile-bytecode.scm  |   18 +-
 module/language/ecmascript/compile-tree-il.scm |   36 +-
 module/language/tree-il.scm                    |  148 +-
 module/oop/goops.scm                           |   67 +-
 module/oop/goops/simple.scm                    |    8 +-
 module/oop/goops/stklos.scm                    |    8 +-
 module/srfi/srfi-1.scm                         |    8 +-
 module/srfi/srfi-35.scm                        |   32 +-
 module/srfi/srfi-39.scm                        |   12 +-
 module/srfi/srfi-45.scm                        |   13 +-
 module/srfi/srfi-67/compare.scm                |  189 +-
 module/sxml/match.scm                          |   37 +-
 module/system/repl/error-handling.scm          |    6 +-
 module/system/repl/repl.scm                    |   16 +-
 module/system/vm/inspect.scm                   |   21 +-
 module/texinfo.scm                             |   20 +-
 module/web/server.scm                          |    8 +-
 28 files changed, 8323 insertions(+), 8312 deletions(-)

diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index f0eeb6e..1167650 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 
2010
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 
2010, 2011
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -336,6 +336,23 @@ This discussion is mostly relevant in the context of 
traditional Lisp macros
 (@pxref{Defmacros}), which do not preserve referential transparency. Hygiene
 adds to the expressive power of Scheme.
 
address@hidden Shorthands
+
+One often ends up writing simple one-clause @code{syntax-rules} macros.
+There is a convenient shorthand for this idiom, in the form of
address@hidden
+
address@hidden {Syntax} define-syntax-rule (keyword . pattern) [docstring] 
template
+Define @var{keyword} as a new @code{syntax-rules} macro with one clause.
address@hidden deffn
+
+Cast into this form, our @code{when} example is significantly shorter:
+
address@hidden
+(define-syntax-rule (when c e ...)
+  (if c (begin e ...)))
address@hidden example
+
 @subsubsection Further Information
 
 For a formal definition of @code{syntax-rules} and its pattern language, see
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index b7e9f7f..a1ec5cc 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -504,9 +504,8 @@ If there is no handler at all, Guile prints an error and 
then exits."
     ((do "step" x y)
      y)))
 
-(define-syntax delay
-  (syntax-rules ()
-    ((_ exp) (make-promise (lambda () exp)))))
+(define-syntax-rule (delay exp)
+  (make-promise (lambda () exp)))
 
 (include-from-path "ice-9/quasisyntax")
 
@@ -517,11 +516,9 @@ If there is no handler at all, Guile prints an error and 
then exits."
        (with-syntax ((s (datum->syntax x (syntax-source x))))
          #''s)))))
 
-(define-syntax define-once
-  (syntax-rules ()
-    ((_ sym val)
-     (define sym
-       (if (module-locally-bound? (current-module) 'sym) sym val)))))
+(define-syntax-rule (define-once sym val)
+  (define sym
+    (if (module-locally-bound? (current-module) 'sym) sym val)))
 
 ;;; The real versions of `map' and `for-each', with cycle detection, and
 ;;; that use reverse! instead of recursion in the case of `map'.
@@ -853,12 +850,10 @@ VALUE."
 (define (and=> value procedure) (and value (procedure value)))
 (define call/cc call-with-current-continuation)
 
-(define-syntax false-if-exception
-  (syntax-rules ()
-    ((_ expr)
-     (catch #t
-       (lambda () expr)
-       (lambda (k . args) #f)))))
+(define-syntax-rule (false-if-exception expr)
+  (catch #t
+    (lambda () expr)
+    (lambda (k . args) #f)))
 
 
 
@@ -877,12 +872,10 @@ VALUE."
 ;; properties within the object itself.
 
 (define (make-object-property)
-  (define-syntax with-mutex
-    (syntax-rules ()
-      ((_ lock exp)
-       (dynamic-wind (lambda () (lock-mutex lock))
-                     (lambda () exp)
-                     (lambda () (unlock-mutex lock))))))
+  (define-syntax-rule (with-mutex lock exp)
+    (dynamic-wind (lambda () (lock-mutex lock))
+                  (lambda () exp)
+                  (lambda () (unlock-mutex lock))))
   (let ((prop (make-weak-key-hash-table))
         (lock (make-mutex)))
     (make-procedure-with-setter
@@ -1380,10 +1373,9 @@ VALUE."
          (thunk)))
      (lambda (k . args)
        (%start-stack tag (lambda () (apply k args)))))))
-(define-syntax start-stack
-  (syntax-rules ()
-    ((_ tag exp)
-     (%start-stack tag (lambda () exp)))))
+
+(define-syntax-rule (start-stack tag exp)
+  (%start-stack tag (lambda () exp)))
 
 
 
@@ -2846,11 +2838,9 @@ module '(ice-9 q) '(make-q q-length))}."
                      flags)
            (interface options)
            (interface)))
-       (define-syntax option-set!
-         (syntax-rules ()
-           ((_ opt val)
-            (eval-when (eval load compile expand)
-              (options (append (options) (list 'opt val)))))))))))
+       (define-syntax-rule (option-set! opt val)
+         (eval-when (eval load compile expand)
+           (options (append (options) (list 'opt val)))))))))
 
 (define-option-interface
   (debug-options-interface
@@ -3175,21 +3165,17 @@ module '(ice-9 q) '(make-q q-length))}."
              (process-use-modules (list quoted-args ...))
              *unspecified*))))))
 
-(define-syntax use-syntax
-  (syntax-rules ()
-    ((_ spec ...)
-     (begin
-       (eval-when (eval load compile expand)
-         (issue-deprecation-warning
-          "`use-syntax' is deprecated. Please contact guile-devel for more 
info."))
-       (use-modules spec ...)))))
+(define-syntax-rule (use-syntax spec ...)
+  (begin
+    (eval-when (eval load compile expand)
+      (issue-deprecation-warning
+       "`use-syntax' is deprecated. Please contact guile-devel for more 
info."))
+    (use-modules spec ...)))
 
 (include-from-path "ice-9/r6rs-libraries")
 
-(define-syntax define-private
-  (syntax-rules ()
-    ((_ foo bar)
-     (define foo bar))))
+(define-syntax-rule (define-private foo bar)
+  (define foo bar))
 
 (define-syntax define-public
   (syntax-rules ()
@@ -3200,18 +3186,14 @@ module '(ice-9 q) '(make-q q-length))}."
        (define name val)
        (export name)))))
 
-(define-syntax defmacro-public
-  (syntax-rules ()
-    ((_ name args . body)
-     (begin
-       (defmacro name args . body)
-       (export-syntax name)))))
+(define-syntax-rule (defmacro-public name args body ...)
+  (begin
+    (defmacro name args body ...)
+    (export-syntax name)))
 
 ;; And now for the most important macro.
-(define-syntax λ
-  (syntax-rules ()
-    ((_ formals body ...)
-     (lambda formals body ...))))
+(define-syntax-rule (λ formals body ...)
+  (lambda formals body ...))
 
 
 ;; Export a local variable
@@ -3270,39 +3252,29 @@ module '(ice-9 q) '(make-q q-length))}."
                          (module-add! public-i external-name var)))))
               names)))
 
-(define-syntax export
-  (syntax-rules ()
-    ((_ name ...)
-     (eval-when (eval load compile expand)
-       (call-with-deferred-observers
-        (lambda ()
-          (module-export! (current-module) '(name ...))))))))
+(define-syntax-rule (export name ...)
+  (eval-when (eval load compile expand)
+    (call-with-deferred-observers
+     (lambda ()
+       (module-export! (current-module) '(name ...))))))
 
-(define-syntax re-export
-  (syntax-rules ()
-    ((_ name ...)
-     (eval-when (eval load compile expand)
-       (call-with-deferred-observers
-        (lambda ()
-          (module-re-export! (current-module) '(name ...))))))))
+(define-syntax-rule (re-export name ...)
+  (eval-when (eval load compile expand)
+    (call-with-deferred-observers
+     (lambda ()
+       (module-re-export! (current-module) '(name ...))))))
 
-(define-syntax export!
-  (syntax-rules ()
-    ((_ name ...)
-     (eval-when (eval load compile expand)
-       (call-with-deferred-observers
-        (lambda ()
-          (module-replace! (current-module) '(name ...))))))))
+(define-syntax-rule (export! name ...)
+  (eval-when (eval load compile expand)
+    (call-with-deferred-observers
+     (lambda ()
+       (module-replace! (current-module) '(name ...))))))
 
-(define-syntax export-syntax
-  (syntax-rules ()
-    ((_ name ...)
-     (export name ...))))
+(define-syntax-rule (export-syntax name ...)
+  (export name ...))
 
-(define-syntax re-export-syntax
-  (syntax-rules ()
-    ((_ name ...)
-     (re-export name ...))))
+(define-syntax-rule (re-export-syntax name ...)
+  (re-export name ...))
 
 
 
diff --git a/module/ice-9/control.scm b/module/ice-9/control.scm
index 908e0e9..5f25738 100644
--- a/module/ice-9/control.scm
+++ b/module/ice-9/control.scm
@@ -60,20 +60,16 @@
 ;; http://okmij.org/ftp/Scheme/delim-control-n.scm, which are in the
 ;; public domain, as noted at the top of http://okmij.org/ftp/.
 ;; 
-(define-syntax reset
-  (syntax-rules ()
-    ((_ . body)
-     (call-with-prompt (default-prompt-tag)
-                       (lambda () . body)
-                       (lambda (cont f) (f cont))))))
+(define-syntax-rule (reset . body)
+  (call-with-prompt (default-prompt-tag)
+                    (lambda () . body)
+                    (lambda (cont f) (f cont))))
 
-(define-syntax shift
-  (syntax-rules ()
-    ((_ var . body)
-     (abort-to-prompt (default-prompt-tag)
-                      (lambda (cont)
-                        ((lambda (var) (reset . body))
-                         (lambda vals (reset (apply cont vals)))))))))
+(define-syntax-rule (shift var . body)
+  (abort-to-prompt (default-prompt-tag)
+                   (lambda (cont)
+                     ((lambda (var) (reset . body))
+                      (lambda vals (reset (apply cont vals)))))))
 
 (define (reset* thunk)
   (reset (thunk)))
diff --git a/module/ice-9/futures.scm b/module/ice-9/futures.scm
index 012ebbf..3c4cd7d 100644
--- a/module/ice-9/futures.scm
+++ b/module/ice-9/futures.scm
@@ -173,8 +173,6 @@ touched."
 ;;; Syntax.
 ;;;
 
-(define-syntax future
-  (syntax-rules ()
-    "Return a new future for BODY."
-    ((_ body)
-     (make-future (lambda () body)))))
+(define-syntax-rule (future body)
+  "Return a new future for BODY."
+  (make-future (lambda () body)))
diff --git a/module/ice-9/optargs.scm b/module/ice-9/optargs.scm
index 50a8299..dc4ec95 100644
--- a/module/ice-9/optargs.scm
+++ b/module/ice-9/optargs.scm
@@ -1,6 +1,6 @@
 ;;;; optargs.scm -- support for optional arguments
 ;;;;
-;;;;   Copyright (C) 1997, 1998, 1999, 2001, 2002, 2004, 2006, 2009, 2010 Free 
Software Foundation, Inc.
+;;;;   Copyright (C) 1997, 1998, 1999, 2001, 2002, 2004, 2006, 2009, 2010, 
2011 Free Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -278,12 +278,10 @@
        #'(define-macro id doc (lambda* args b0 b1 ...)))
       ((_ id args b0 b1 ...) 
        #'(define-macro id #f (lambda* args b0 b1 ...))))))
-(define-syntax defmacro*-public
-  (syntax-rules ()
-    ((_ id args b0 b1 ...)
-     (begin
-       (defmacro* id args b0 b1 ...)
-       (export-syntax id)))))
+(define-syntax-rule (defmacro*-public id args b0 b1 ...)
+  (begin
+    (defmacro* id args b0 b1 ...)
+    (export-syntax id)))
 
 ;;; Support for optional & keyword args with the interpreter.
 (define *uninitialized* (list 'uninitialized))
diff --git a/module/ice-9/poll.scm b/module/ice-9/poll.scm
index 26b264b..cf61294 100644
--- a/module/ice-9/poll.scm
+++ b/module/ice-9/poll.scm
@@ -1,6 +1,6 @@
 ;; poll
 
-;;;; Copyright (C) 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
 ;;;; 
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -68,9 +68,8 @@
   (ports pset-ports set-pset-ports!)
   )
 
-(define-syntax pollfd-offset
-  (syntax-rules ()
-    ((_ n) (* n 8))))
+(define-syntax-rule (pollfd-offset n)
+  (* n 8))
 
 (define* (make-empty-poll-set #:optional (pre-allocated 4))
   (make-poll-set (make-bytevector (pollfd-offset pre-allocated) 0)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 065214a..d499b73 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -3,1526 +3,1526 @@
 
 (letrec*
   ((#{make-void 203}#
-     (lambda (#{src 761}#)
+     (lambda (#{src 774}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 0)
-         #{src 761}#)))
+         #{src 774}#)))
    (#{make-const 205}#
-     (lambda (#{src 763}# #{exp 764}#)
+     (lambda (#{src 776}# #{exp 777}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 1)
-         #{src 763}#
-         #{exp 764}#)))
+         #{src 776}#
+         #{exp 777}#)))
    (#{make-lexical-ref 209}#
-     (lambda (#{src 771}# #{name 772}# #{gensym 773}#)
+     (lambda (#{src 784}# #{name 785}# #{gensym 786}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 3)
-         #{src 771}#
-         #{name 772}#
-         #{gensym 773}#)))
+         #{src 784}#
+         #{name 785}#
+         #{gensym 786}#)))
    (#{make-lexical-set 211}#
-     (lambda (#{src 777}#
-              #{name 778}#
-              #{gensym 779}#
-              #{exp 780}#)
+     (lambda (#{src 790}#
+              #{name 791}#
+              #{gensym 792}#
+              #{exp 793}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 4)
-         #{src 777}#
-         #{name 778}#
-         #{gensym 779}#
-         #{exp 780}#)))
+         #{src 790}#
+         #{name 791}#
+         #{gensym 792}#
+         #{exp 793}#)))
    (#{make-module-ref 213}#
-     (lambda (#{src 785}#
-              #{mod 786}#
-              #{name 787}#
-              #{public? 788}#)
+     (lambda (#{src 798}#
+              #{mod 799}#
+              #{name 800}#
+              #{public? 801}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 5)
-         #{src 785}#
-         #{mod 786}#
-         #{name 787}#
-         #{public? 788}#)))
+         #{src 798}#
+         #{mod 799}#
+         #{name 800}#
+         #{public? 801}#)))
    (#{make-module-set 215}#
-     (lambda (#{src 793}#
-              #{mod 794}#
-              #{name 795}#
-              #{public? 796}#
-              #{exp 797}#)
+     (lambda (#{src 806}#
+              #{mod 807}#
+              #{name 808}#
+              #{public? 809}#
+              #{exp 810}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 6)
-         #{src 793}#
-         #{mod 794}#
-         #{name 795}#
-         #{public? 796}#
-         #{exp 797}#)))
+         #{src 806}#
+         #{mod 807}#
+         #{name 808}#
+         #{public? 809}#
+         #{exp 810}#)))
    (#{make-toplevel-ref 217}#
-     (lambda (#{src 803}# #{name 804}#)
+     (lambda (#{src 816}# #{name 817}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 7)
-         #{src 803}#
-         #{name 804}#)))
+         #{src 816}#
+         #{name 817}#)))
    (#{make-toplevel-set 219}#
-     (lambda (#{src 807}# #{name 808}# #{exp 809}#)
+     (lambda (#{src 820}# #{name 821}# #{exp 822}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 8)
-         #{src 807}#
-         #{name 808}#
-         #{exp 809}#)))
+         #{src 820}#
+         #{name 821}#
+         #{exp 822}#)))
    (#{make-toplevel-define 221}#
-     (lambda (#{src 813}# #{name 814}# #{exp 815}#)
+     (lambda (#{src 826}# #{name 827}# #{exp 828}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 9)
-         #{src 813}#
-         #{name 814}#
-         #{exp 815}#)))
+         #{src 826}#
+         #{name 827}#
+         #{exp 828}#)))
    (#{make-conditional 223}#
-     (lambda (#{src 819}#
-              #{test 820}#
-              #{consequent 821}#
-              #{alternate 822}#)
+     (lambda (#{src 832}#
+              #{test 833}#
+              #{consequent 834}#
+              #{alternate 835}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 10)
-         #{src 819}#
-         #{test 820}#
-         #{consequent 821}#
-         #{alternate 822}#)))
+         #{src 832}#
+         #{test 833}#
+         #{consequent 834}#
+         #{alternate 835}#)))
    (#{make-application 225}#
-     (lambda (#{src 827}# #{proc 828}# #{args 829}#)
+     (lambda (#{src 840}# #{proc 841}# #{args 842}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 11)
-         #{src 827}#
-         #{proc 828}#
-         #{args 829}#)))
+         #{src 840}#
+         #{proc 841}#
+         #{args 842}#)))
    (#{make-sequence 227}#
-     (lambda (#{src 833}# #{exps 834}#)
+     (lambda (#{src 846}# #{exps 847}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 12)
-         #{src 833}#
-         #{exps 834}#)))
+         #{src 846}#
+         #{exps 847}#)))
    (#{make-lambda 229}#
-     (lambda (#{src 837}# #{meta 838}# #{body 839}#)
+     (lambda (#{src 850}# #{meta 851}# #{body 852}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 13)
-         #{src 837}#
-         #{meta 838}#
-         #{body 839}#)))
+         #{src 850}#
+         #{meta 851}#
+         #{body 852}#)))
    (#{make-lambda-case 231}#
-     (lambda (#{src 843}#
-              #{req 844}#
-              #{opt 845}#
-              #{rest 846}#
-              #{kw 847}#
-              #{inits 848}#
-              #{gensyms 849}#
-              #{body 850}#
-              #{alternate 851}#)
+     (lambda (#{src 856}#
+              #{req 857}#
+              #{opt 858}#
+              #{rest 859}#
+              #{kw 860}#
+              #{inits 861}#
+              #{gensyms 862}#
+              #{body 863}#
+              #{alternate 864}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 14)
-         #{src 843}#
-         #{req 844}#
-         #{opt 845}#
-         #{rest 846}#
-         #{kw 847}#
-         #{inits 848}#
-         #{gensyms 849}#
-         #{body 850}#
-         #{alternate 851}#)))
+         #{src 856}#
+         #{req 857}#
+         #{opt 858}#
+         #{rest 859}#
+         #{kw 860}#
+         #{inits 861}#
+         #{gensyms 862}#
+         #{body 863}#
+         #{alternate 864}#)))
    (#{make-let 233}#
-     (lambda (#{src 861}#
-              #{names 862}#
-              #{gensyms 863}#
-              #{vals 864}#
-              #{body 865}#)
+     (lambda (#{src 874}#
+              #{names 875}#
+              #{gensyms 876}#
+              #{vals 877}#
+              #{body 878}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 15)
-         #{src 861}#
-         #{names 862}#
-         #{gensyms 863}#
-         #{vals 864}#
-         #{body 865}#)))
+         #{src 874}#
+         #{names 875}#
+         #{gensyms 876}#
+         #{vals 877}#
+         #{body 878}#)))
    (#{make-letrec 235}#
-     (lambda (#{src 871}#
-              #{in-order? 872}#
-              #{names 873}#
-              #{gensyms 874}#
-              #{vals 875}#
-              #{body 876}#)
+     (lambda (#{src 884}#
+              #{in-order? 885}#
+              #{names 886}#
+              #{gensyms 887}#
+              #{vals 888}#
+              #{body 889}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 16)
-         #{src 871}#
-         #{in-order? 872}#
-         #{names 873}#
-         #{gensyms 874}#
-         #{vals 875}#
-         #{body 876}#)))
+         #{src 884}#
+         #{in-order? 885}#
+         #{names 886}#
+         #{gensyms 887}#
+         #{vals 888}#
+         #{body 889}#)))
    (#{make-dynlet 237}#
-     (lambda (#{src 883}#
-              #{fluids 884}#
-              #{vals 885}#
-              #{body 886}#)
+     (lambda (#{src 896}#
+              #{fluids 897}#
+              #{vals 898}#
+              #{body 899}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 17)
-         #{src 883}#
-         #{fluids 884}#
-         #{vals 885}#
-         #{body 886}#)))
+         #{src 896}#
+         #{fluids 897}#
+         #{vals 898}#
+         #{body 899}#)))
    (#{lambda? 240}#
-     (lambda (#{x 891}#)
-       (if (struct? #{x 891}#)
-         (eq? (struct-vtable #{x 891}#)
+     (lambda (#{x 904}#)
+       (if (struct? #{x 904}#)
+         (eq? (struct-vtable #{x 904}#)
               (vector-ref %expanded-vtables 13))
          #f)))
    (#{lambda-meta 242}#
-     (lambda (#{x 895}#) (struct-ref #{x 895}# 1)))
+     (lambda (#{x 908}#) (struct-ref #{x 908}# 1)))
    (#{set-lambda-meta! 244}#
-     (lambda (#{x 897}# #{v 898}#)
-       (struct-set! #{x 897}# 1 #{v 898}#)))
+     (lambda (#{x 910}# #{v 911}#)
+       (struct-set! #{x 910}# 1 #{v 911}#)))
    (#{top-level-eval-hook 250}#
-     (lambda (#{x 901}# #{mod 902}#)
-       (primitive-eval #{x 901}#)))
+     (lambda (#{x 914}# #{mod 915}#)
+       (primitive-eval #{x 914}#)))
    (#{local-eval-hook 252}#
-     (lambda (#{x 905}# #{mod 906}#)
-       (primitive-eval #{x 905}#)))
-   (#{put-global-definition-hook 255}#
-     (lambda (#{symbol 909}# #{type 910}# #{val 911}#)
+     (lambda (#{x 918}# #{mod 919}#)
+       (primitive-eval #{x 918}#)))
+   (#{put-global-definition-hook 256}#
+     (lambda (#{symbol 922}# #{type 923}# #{val 924}#)
        (module-define!
          (current-module)
-         #{symbol 909}#
+         #{symbol 922}#
          (make-syntax-transformer
-           #{symbol 909}#
-           #{type 910}#
-           #{val 911}#))))
-   (#{get-global-definition-hook 257}#
-     (lambda (#{symbol 915}# #{module 916}#)
+           #{symbol 922}#
+           #{type 923}#
+           #{val 924}#))))
+   (#{get-global-definition-hook 258}#
+     (lambda (#{symbol 928}# #{module 929}#)
        (begin
-         (if (if (not #{module 916}#) (current-module) #f)
+         (if (if (not #{module 929}#) (current-module) #f)
            (warn "module system is booted, we should have a module"
-                 #{symbol 915}#))
+                 #{symbol 928}#))
          (begin
-           (let ((#{v 922}# (module-variable
-                              (if #{module 916}#
-                                (resolve-module (cdr #{module 916}#))
+           (let ((#{v 935}# (module-variable
+                              (if #{module 929}#
+                                (resolve-module (cdr #{module 929}#))
                                 (current-module))
-                              #{symbol 915}#)))
-             (if #{v 922}#
-               (if (variable-bound? #{v 922}#)
+                              #{symbol 928}#)))
+             (if #{v 935}#
+               (if (variable-bound? #{v 935}#)
                  (begin
-                   (let ((#{val 927}# (variable-ref #{v 922}#)))
-                     (if (macro? #{val 927}#)
-                       (if (macro-type #{val 927}#)
-                         (cons (macro-type #{val 927}#)
-                               (macro-binding #{val 927}#))
+                   (let ((#{val 940}# (variable-ref #{v 935}#)))
+                     (if (macro? #{val 940}#)
+                       (if (macro-type #{val 940}#)
+                         (cons (macro-type #{val 940}#)
+                               (macro-binding #{val 940}#))
                          #f)
                        #f)))
                  #f)
                #f))))))
-   (#{decorate-source 259}#
-     (lambda (#{e 931}# #{s 932}#)
+   (#{decorate-source 260}#
+     (lambda (#{e 944}# #{s 945}#)
        (begin
-         (if (if (pair? #{e 931}#) #{s 932}# #f)
-           (set-source-properties! #{e 931}# #{s 932}#))
-         #{e 931}#)))
-   (#{maybe-name-value! 261}#
-     (lambda (#{name 937}# #{val 938}#)
-       (if (#{lambda? 240}# #{val 938}#)
+         (if (if (pair? #{e 944}#) #{s 945}# #f)
+           (set-source-properties! #{e 944}# #{s 945}#))
+         #{e 944}#)))
+   (#{maybe-name-value! 262}#
+     (lambda (#{name 950}# #{val 951}#)
+       (if (#{lambda? 240}# #{val 951}#)
          (begin
-           (let ((#{meta 942}# (#{lambda-meta 242}# #{val 938}#)))
-             (if (not (assq 'name #{meta 942}#))
+           (let ((#{meta 955}# (#{lambda-meta 242}# #{val 951}#)))
+             (if (not (assq 'name #{meta 955}#))
                (#{set-lambda-meta! 244}#
-                 #{val 938}#
-                 (cons (cons 'name #{name 937}#) #{meta 942}#))))))))
-   (#{build-void 263}#
-     (lambda (#{source 943}#)
-       (#{make-void 203}# #{source 943}#)))
-   (#{build-application 265}#
-     (lambda (#{source 945}# #{fun-exp 946}# #{arg-exps 947}#)
+                 #{val 951}#
+                 (cons (cons 'name #{name 950}#) #{meta 955}#))))))))
+   (#{build-void 264}#
+     (lambda (#{source 956}#)
+       (#{make-void 203}# #{source 956}#)))
+   (#{build-application 266}#
+     (lambda (#{source 958}# #{fun-exp 959}# #{arg-exps 960}#)
        (#{make-application 225}#
-         #{source 945}#
-         #{fun-exp 946}#
-         #{arg-exps 947}#)))
-   (#{build-conditional 267}#
-     (lambda (#{source 951}#
-              #{test-exp 952}#
-              #{then-exp 953}#
-              #{else-exp 954}#)
+         #{source 958}#
+         #{fun-exp 959}#
+         #{arg-exps 960}#)))
+   (#{build-conditional 268}#
+     (lambda (#{source 964}#
+              #{test-exp 965}#
+              #{then-exp 966}#
+              #{else-exp 967}#)
        (#{make-conditional 223}#
-         #{source 951}#
-         #{test-exp 952}#
-         #{then-exp 953}#
-         #{else-exp 954}#)))
-   (#{build-dynlet 269}#
-     (lambda (#{source 959}#
-              #{fluids 960}#
-              #{vals 961}#
-              #{body 962}#)
+         #{source 964}#
+         #{test-exp 965}#
+         #{then-exp 966}#
+         #{else-exp 967}#)))
+   (#{build-dynlet 270}#
+     (lambda (#{source 972}#
+              #{fluids 973}#
+              #{vals 974}#
+              #{body 975}#)
        (#{make-dynlet 237}#
-         #{source 959}#
-         #{fluids 960}#
-         #{vals 961}#
-         #{body 962}#)))
-   (#{build-lexical-reference 271}#
-     (lambda (#{type 967}#
-              #{source 968}#
-              #{name 969}#
-              #{var 970}#)
+         #{source 972}#
+         #{fluids 973}#
+         #{vals 974}#
+         #{body 975}#)))
+   (#{build-lexical-reference 272}#
+     (lambda (#{type 980}#
+              #{source 981}#
+              #{name 982}#
+              #{var 983}#)
        (#{make-lexical-ref 209}#
-         #{source 968}#
-         #{name 969}#
-         #{var 970}#)))
-   (#{build-lexical-assignment 273}#
-     (lambda (#{source 975}#
-              #{name 976}#
-              #{var 977}#
-              #{exp 978}#)
+         #{source 981}#
+         #{name 982}#
+         #{var 983}#)))
+   (#{build-lexical-assignment 274}#
+     (lambda (#{source 988}#
+              #{name 989}#
+              #{var 990}#
+              #{exp 991}#)
        (begin
-         (#{maybe-name-value! 261}#
-           #{name 976}#
-           #{exp 978}#)
+         (#{maybe-name-value! 262}#
+           #{name 989}#
+           #{exp 991}#)
          (#{make-lexical-set 211}#
-           #{source 975}#
-           #{name 976}#
-           #{var 977}#
-           #{exp 978}#))))
-   (#{analyze-variable 275}#
-     (lambda (#{mod 983}#
-              #{var 984}#
-              #{modref-cont 985}#
-              #{bare-cont 986}#)
-       (if (not #{mod 983}#)
-         (#{bare-cont 986}# #{var 984}#)
+           #{source 988}#
+           #{name 989}#
+           #{var 990}#
+           #{exp 991}#))))
+   (#{analyze-variable 276}#
+     (lambda (#{mod 996}#
+              #{var 997}#
+              #{modref-cont 998}#
+              #{bare-cont 999}#)
+       (if (not #{mod 996}#)
+         (#{bare-cont 999}# #{var 997}#)
          (begin
-           (let ((#{kind 993}# (car #{mod 983}#))
-                 (#{mod 994}# (cdr #{mod 983}#)))
-             (if (eqv? #{kind 993}# 'public)
-               (#{modref-cont 985}# #{mod 994}# #{var 984}# #t)
-               (if (eqv? #{kind 993}# 'private)
+           (let ((#{kind 1006}# (car #{mod 996}#))
+                 (#{mod 1007}# (cdr #{mod 996}#)))
+             (if (eqv? #{kind 1006}# 'public)
+               (#{modref-cont 998}# #{mod 1007}# #{var 997}# #t)
+               (if (eqv? #{kind 1006}# 'private)
                  (if (not (equal?
-                            #{mod 994}#
+                            #{mod 1007}#
                             (module-name (current-module))))
-                   (#{modref-cont 985}# #{mod 994}# #{var 984}# #f)
-                   (#{bare-cont 986}# #{var 984}#))
-                 (if (eqv? #{kind 993}# 'bare)
-                   (#{bare-cont 986}# #{var 984}#)
-                   (if (eqv? #{kind 993}# 'hygiene)
+                   (#{modref-cont 998}# #{mod 1007}# #{var 997}# #f)
+                   (#{bare-cont 999}# #{var 997}#))
+                 (if (eqv? #{kind 1006}# 'bare)
+                   (#{bare-cont 999}# #{var 997}#)
+                   (if (eqv? #{kind 1006}# 'hygiene)
                      (if (if (not (equal?
-                                    #{mod 994}#
+                                    #{mod 1007}#
                                     (module-name (current-module))))
                            (module-variable
-                             (resolve-module #{mod 994}#)
-                             #{var 984}#)
+                             (resolve-module #{mod 1007}#)
+                             #{var 997}#)
                            #f)
-                       (#{modref-cont 985}# #{mod 994}# #{var 984}# #f)
-                       (#{bare-cont 986}# #{var 984}#))
+                       (#{modref-cont 998}# #{mod 1007}# #{var 997}# #f)
+                       (#{bare-cont 999}# #{var 997}#))
                      (syntax-violation
                        #f
                        "bad module kind"
-                       #{var 984}#
-                       #{mod 994}#))))))))))
-   (#{build-global-reference 277}#
-     (lambda (#{source 1002}# #{var 1003}# #{mod 1004}#)
-       (#{analyze-variable 275}#
-         #{mod 1004}#
-         #{var 1003}#
-         (lambda (#{mod 1008}# #{var 1009}# #{public? 1010}#)
+                       #{var 997}#
+                       #{mod 1007}#))))))))))
+   (#{build-global-reference 278}#
+     (lambda (#{source 1015}# #{var 1016}# #{mod 1017}#)
+       (#{analyze-variable 276}#
+         #{mod 1017}#
+         #{var 1016}#
+         (lambda (#{mod 1021}# #{var 1022}# #{public? 1023}#)
            (#{make-module-ref 213}#
-             #{source 1002}#
-             #{mod 1008}#
-             #{var 1009}#
-             #{public? 1010}#))
-         (lambda (#{var 1014}#)
+             #{source 1015}#
+             #{mod 1021}#
+             #{var 1022}#
+             #{public? 1023}#))
+         (lambda (#{var 1027}#)
            (#{make-toplevel-ref 217}#
-             #{source 1002}#
-             #{var 1014}#)))))
-   (#{build-global-assignment 279}#
-     (lambda (#{source 1016}#
-              #{var 1017}#
-              #{exp 1018}#
-              #{mod 1019}#)
+             #{source 1015}#
+             #{var 1027}#)))))
+   (#{build-global-assignment 280}#
+     (lambda (#{source 1029}#
+              #{var 1030}#
+              #{exp 1031}#
+              #{mod 1032}#)
        (begin
-         (#{maybe-name-value! 261}#
-           #{var 1017}#
-           #{exp 1018}#)
-         (#{analyze-variable 275}#
-           #{mod 1019}#
-           #{var 1017}#
-           (lambda (#{mod 1024}# #{var 1025}# #{public? 1026}#)
+         (#{maybe-name-value! 262}#
+           #{var 1030}#
+           #{exp 1031}#)
+         (#{analyze-variable 276}#
+           #{mod 1032}#
+           #{var 1030}#
+           (lambda (#{mod 1037}# #{var 1038}# #{public? 1039}#)
              (#{make-module-set 215}#
-               #{source 1016}#
-               #{mod 1024}#
-               #{var 1025}#
-               #{public? 1026}#
-               #{exp 1018}#))
-           (lambda (#{var 1030}#)
+               #{source 1029}#
+               #{mod 1037}#
+               #{var 1038}#
+               #{public? 1039}#
+               #{exp 1031}#))
+           (lambda (#{var 1043}#)
              (#{make-toplevel-set 219}#
-               #{source 1016}#
-               #{var 1030}#
-               #{exp 1018}#))))))
-   (#{build-global-definition 281}#
-     (lambda (#{source 1032}# #{var 1033}# #{exp 1034}#)
+               #{source 1029}#
+               #{var 1043}#
+               #{exp 1031}#))))))
+   (#{build-global-definition 282}#
+     (lambda (#{source 1045}# #{var 1046}# #{exp 1047}#)
        (begin
-         (#{maybe-name-value! 261}#
-           #{var 1033}#
-           #{exp 1034}#)
+         (#{maybe-name-value! 262}#
+           #{var 1046}#
+           #{exp 1047}#)
          (#{make-toplevel-define 221}#
-           #{source 1032}#
-           #{var 1033}#
-           #{exp 1034}#))))
-   (#{build-simple-lambda 283}#
-     (lambda (#{src 1038}#
-              #{req 1039}#
-              #{rest 1040}#
-              #{vars 1041}#
-              #{meta 1042}#
-              #{exp 1043}#)
+           #{source 1045}#
+           #{var 1046}#
+           #{exp 1047}#))))
+   (#{build-simple-lambda 284}#
+     (lambda (#{src 1051}#
+              #{req 1052}#
+              #{rest 1053}#
+              #{vars 1054}#
+              #{meta 1055}#
+              #{exp 1056}#)
        (#{make-lambda 229}#
-         #{src 1038}#
-         #{meta 1042}#
+         #{src 1051}#
+         #{meta 1055}#
          (#{make-lambda-case 231}#
-           #{src 1038}#
-           #{req 1039}#
+           #{src 1051}#
+           #{req 1052}#
            #f
-           #{rest 1040}#
+           #{rest 1053}#
            #f
            '()
-           #{vars 1041}#
-           #{exp 1043}#
+           #{vars 1054}#
+           #{exp 1056}#
            #f))))
-   (#{build-case-lambda 285}#
-     (lambda (#{src 1050}# #{meta 1051}# #{body 1052}#)
+   (#{build-case-lambda 286}#
+     (lambda (#{src 1063}# #{meta 1064}# #{body 1065}#)
        (#{make-lambda 229}#
-         #{src 1050}#
-         #{meta 1051}#
-         #{body 1052}#)))
-   (#{build-lambda-case 287}#
-     (lambda (#{src 1056}#
-              #{req 1057}#
-              #{opt 1058}#
-              #{rest 1059}#
-              #{kw 1060}#
-              #{inits 1061}#
-              #{vars 1062}#
-              #{body 1063}#
-              #{else-case 1064}#)
+         #{src 1063}#
+         #{meta 1064}#
+         #{body 1065}#)))
+   (#{build-lambda-case 288}#
+     (lambda (#{src 1069}#
+              #{req 1070}#
+              #{opt 1071}#
+              #{rest 1072}#
+              #{kw 1073}#
+              #{inits 1074}#
+              #{vars 1075}#
+              #{body 1076}#
+              #{else-case 1077}#)
        (#{make-lambda-case 231}#
-         #{src 1056}#
-         #{req 1057}#
-         #{opt 1058}#
-         #{rest 1059}#
-         #{kw 1060}#
-         #{inits 1061}#
-         #{vars 1062}#
-         #{body 1063}#
-         #{else-case 1064}#)))
-   (#{build-primref 289}#
-     (lambda (#{src 1074}# #{name 1075}#)
+         #{src 1069}#
+         #{req 1070}#
+         #{opt 1071}#
+         #{rest 1072}#
+         #{kw 1073}#
+         #{inits 1074}#
+         #{vars 1075}#
+         #{body 1076}#
+         #{else-case 1077}#)))
+   (#{build-primref 290}#
+     (lambda (#{src 1087}# #{name 1088}#)
        (if (equal? (module-name (current-module)) '(guile))
          (#{make-toplevel-ref 217}#
-           #{src 1074}#
-           #{name 1075}#)
+           #{src 1087}#
+           #{name 1088}#)
          (#{make-module-ref 213}#
-           #{src 1074}#
+           #{src 1087}#
            '(guile)
-           #{name 1075}#
+           #{name 1088}#
            #f))))
-   (#{build-data 291}#
-     (lambda (#{src 1078}# #{exp 1079}#)
-       (#{make-const 205}# #{src 1078}# #{exp 1079}#)))
-   (#{build-sequence 293}#
-     (lambda (#{src 1082}# #{exps 1083}#)
-       (if (null? (cdr #{exps 1083}#))
-         (car #{exps 1083}#)
+   (#{build-data 292}#
+     (lambda (#{src 1091}# #{exp 1092}#)
+       (#{make-const 205}# #{src 1091}# #{exp 1092}#)))
+   (#{build-sequence 294}#
+     (lambda (#{src 1095}# #{exps 1096}#)
+       (if (null? (cdr #{exps 1096}#))
+         (car #{exps 1096}#)
          (#{make-sequence 227}#
-           #{src 1082}#
-           #{exps 1083}#))))
-   (#{build-let 295}#
-     (lambda (#{src 1086}#
-              #{ids 1087}#
-              #{vars 1088}#
-              #{val-exps 1089}#
-              #{body-exp 1090}#)
+           #{src 1095}#
+           #{exps 1096}#))))
+   (#{build-let 296}#
+     (lambda (#{src 1099}#
+              #{ids 1100}#
+              #{vars 1101}#
+              #{val-exps 1102}#
+              #{body-exp 1103}#)
        (begin
          (for-each
-           #{maybe-name-value! 261}#
-           #{ids 1087}#
-           #{val-exps 1089}#)
-         (if (null? #{vars 1088}#)
-           #{body-exp 1090}#
+           #{maybe-name-value! 262}#
+           #{ids 1100}#
+           #{val-exps 1102}#)
+         (if (null? #{vars 1101}#)
+           #{body-exp 1103}#
            (#{make-let 233}#
-             #{src 1086}#
-             #{ids 1087}#
-             #{vars 1088}#
-             #{val-exps 1089}#
-             #{body-exp 1090}#)))))
-   (#{build-named-let 297}#
-     (lambda (#{src 1096}#
-              #{ids 1097}#
-              #{vars 1098}#
-              #{val-exps 1099}#
-              #{body-exp 1100}#)
+             #{src 1099}#
+             #{ids 1100}#
+             #{vars 1101}#
+             #{val-exps 1102}#
+             #{body-exp 1103}#)))))
+   (#{build-named-let 298}#
+     (lambda (#{src 1109}#
+              #{ids 1110}#
+              #{vars 1111}#
+              #{val-exps 1112}#
+              #{body-exp 1113}#)
        (begin
-         (let ((#{f 1110}# (car #{vars 1098}#))
-               (#{f-name 1111}# (car #{ids 1097}#))
-               (#{vars 1112}# (cdr #{vars 1098}#))
-               (#{ids 1113}# (cdr #{ids 1097}#)))
+         (let ((#{f 1123}# (car #{vars 1111}#))
+               (#{f-name 1124}# (car #{ids 1110}#))
+               (#{vars 1125}# (cdr #{vars 1111}#))
+               (#{ids 1126}# (cdr #{ids 1110}#)))
            (begin
-             (let ((#{proc 1115}#
-                     (#{build-simple-lambda 283}#
-                       #{src 1096}#
-                       #{ids 1113}#
+             (let ((#{proc 1128}#
+                     (#{build-simple-lambda 284}#
+                       #{src 1109}#
+                       #{ids 1126}#
                        #f
-                       #{vars 1112}#
+                       #{vars 1125}#
                        '()
-                       #{body-exp 1100}#)))
+                       #{body-exp 1113}#)))
                (begin
-                 (#{maybe-name-value! 261}#
-                   #{f-name 1111}#
-                   #{proc 1115}#)
+                 (#{maybe-name-value! 262}#
+                   #{f-name 1124}#
+                   #{proc 1128}#)
                  (for-each
-                   #{maybe-name-value! 261}#
-                   #{ids 1113}#
-                   #{val-exps 1099}#)
+                   #{maybe-name-value! 262}#
+                   #{ids 1126}#
+                   #{val-exps 1112}#)
                  (#{make-letrec 235}#
-                   #{src 1096}#
+                   #{src 1109}#
                    #f
-                   (list #{f-name 1111}#)
-                   (list #{f 1110}#)
-                   (list #{proc 1115}#)
-                   (#{build-application 265}#
-                     #{src 1096}#
-                     (#{build-lexical-reference 271}#
+                   (list #{f-name 1124}#)
+                   (list #{f 1123}#)
+                   (list #{proc 1128}#)
+                   (#{build-application 266}#
+                     #{src 1109}#
+                     (#{build-lexical-reference 272}#
                        'fun
-                       #{src 1096}#
-                       #{f-name 1111}#
-                       #{f 1110}#)
-                     #{val-exps 1099}#)))))))))
-   (#{build-letrec 299}#
-     (lambda (#{src 1116}#
-              #{in-order? 1117}#
-              #{ids 1118}#
-              #{vars 1119}#
-              #{val-exps 1120}#
-              #{body-exp 1121}#)
-       (if (null? #{vars 1119}#)
-         #{body-exp 1121}#
+                       #{src 1109}#
+                       #{f-name 1124}#
+                       #{f 1123}#)
+                     #{val-exps 1112}#)))))))))
+   (#{build-letrec 300}#
+     (lambda (#{src 1129}#
+              #{in-order? 1130}#
+              #{ids 1131}#
+              #{vars 1132}#
+              #{val-exps 1133}#
+              #{body-exp 1134}#)
+       (if (null? #{vars 1132}#)
+         #{body-exp 1134}#
          (begin
            (for-each
-             #{maybe-name-value! 261}#
-             #{ids 1118}#
-             #{val-exps 1120}#)
+             #{maybe-name-value! 262}#
+             #{ids 1131}#
+             #{val-exps 1133}#)
            (#{make-letrec 235}#
-             #{src 1116}#
-             #{in-order? 1117}#
-             #{ids 1118}#
-             #{vars 1119}#
-             #{val-exps 1120}#
-             #{body-exp 1121}#)))))
-   (#{make-syntax-object 303}#
-     (lambda (#{expression 1128}#
-              #{wrap 1129}#
-              #{module 1130}#)
+             #{src 1129}#
+             #{in-order? 1130}#
+             #{ids 1131}#
+             #{vars 1132}#
+             #{val-exps 1133}#
+             #{body-exp 1134}#)))))
+   (#{make-syntax-object 305}#
+     (lambda (#{expression 1141}#
+              #{wrap 1142}#
+              #{module 1143}#)
        (vector
          'syntax-object
-         #{expression 1128}#
-         #{wrap 1129}#
-         #{module 1130}#)))
-   (#{syntax-object? 305}#
-     (lambda (#{x 1134}#)
-       (if (vector? #{x 1134}#)
-         (if (= (vector-length #{x 1134}#) 4)
-           (eq? (vector-ref #{x 1134}# 0) 'syntax-object)
+         #{expression 1141}#
+         #{wrap 1142}#
+         #{module 1143}#)))
+   (#{syntax-object? 307}#
+     (lambda (#{x 1147}#)
+       (if (vector? #{x 1147}#)
+         (if (= (vector-length #{x 1147}#) 4)
+           (eq? (vector-ref #{x 1147}# 0) 'syntax-object)
            #f)
          #f)))
-   (#{syntax-object-expression 307}#
-     (lambda (#{x 1139}#) (vector-ref #{x 1139}# 1)))
-   (#{syntax-object-wrap 309}#
-     (lambda (#{x 1141}#) (vector-ref #{x 1141}# 2)))
-   (#{syntax-object-module 311}#
-     (lambda (#{x 1143}#) (vector-ref #{x 1143}# 3)))
-   (#{source-annotation 320}#
-     (lambda (#{x 1157}#)
-       (if (#{syntax-object? 305}# #{x 1157}#)
-         (#{source-annotation 320}#
-           (#{syntax-object-expression 307}# #{x 1157}#))
-         (if (pair? #{x 1157}#)
+   (#{syntax-object-expression 309}#
+     (lambda (#{x 1152}#) (vector-ref #{x 1152}# 1)))
+   (#{syntax-object-wrap 311}#
+     (lambda (#{x 1154}#) (vector-ref #{x 1154}# 2)))
+   (#{syntax-object-module 313}#
+     (lambda (#{x 1156}#) (vector-ref #{x 1156}# 3)))
+   (#{source-annotation 322}#
+     (lambda (#{x 1170}#)
+       (if (#{syntax-object? 307}# #{x 1170}#)
+         (#{source-annotation 322}#
+           (#{syntax-object-expression 309}# #{x 1170}#))
+         (if (pair? #{x 1170}#)
            (begin
-             (let ((#{props 1164}# (source-properties #{x 1157}#)))
-               (if (pair? #{props 1164}#) #{props 1164}# #f)))
+             (let ((#{props 1177}# (source-properties #{x 1170}#)))
+               (if (pair? #{props 1177}#) #{props 1177}# #f)))
            #f))))
-   (#{extend-env 327}#
-     (lambda (#{labels 1166}# #{bindings 1167}# #{r 1168}#)
-       (if (null? #{labels 1166}#)
-         #{r 1168}#
-         (#{extend-env 327}#
-           (cdr #{labels 1166}#)
-           (cdr #{bindings 1167}#)
-           (cons (cons (car #{labels 1166}#)
-                       (car #{bindings 1167}#))
-                 #{r 1168}#)))))
-   (#{extend-var-env 329}#
-     (lambda (#{labels 1172}# #{vars 1173}# #{r 1174}#)
-       (if (null? #{labels 1172}#)
-         #{r 1174}#
-         (#{extend-var-env 329}#
-           (cdr #{labels 1172}#)
-           (cdr #{vars 1173}#)
-           (cons (cons (car #{labels 1172}#)
-                       (cons 'lexical (car #{vars 1173}#)))
-                 #{r 1174}#)))))
-   (#{macros-only-env 331}#
-     (lambda (#{r 1179}#)
-       (if (null? #{r 1179}#)
+   (#{extend-env 332}#
+     (lambda (#{labels 1179}# #{bindings 1180}# #{r 1181}#)
+       (if (null? #{labels 1179}#)
+         #{r 1181}#
+         (#{extend-env 332}#
+           (cdr #{labels 1179}#)
+           (cdr #{bindings 1180}#)
+           (cons (cons (car #{labels 1179}#)
+                       (car #{bindings 1180}#))
+                 #{r 1181}#)))))
+   (#{extend-var-env 334}#
+     (lambda (#{labels 1185}# #{vars 1186}# #{r 1187}#)
+       (if (null? #{labels 1185}#)
+         #{r 1187}#
+         (#{extend-var-env 334}#
+           (cdr #{labels 1185}#)
+           (cdr #{vars 1186}#)
+           (cons (cons (car #{labels 1185}#)
+                       (cons 'lexical (car #{vars 1186}#)))
+                 #{r 1187}#)))))
+   (#{macros-only-env 336}#
+     (lambda (#{r 1192}#)
+       (if (null? #{r 1192}#)
          '()
          (begin
-           (let ((#{a 1182}# (car #{r 1179}#)))
-             (if (eq? (car (cdr #{a 1182}#)) 'macro)
-               (cons #{a 1182}#
-                     (#{macros-only-env 331}# (cdr #{r 1179}#)))
-               (#{macros-only-env 331}# (cdr #{r 1179}#))))))))
-   (#{lookup 333}#
-     (lambda (#{x 1183}# #{r 1184}# #{mod 1185}#)
+           (let ((#{a 1195}# (car #{r 1192}#)))
+             (if (eq? (car (cdr #{a 1195}#)) 'macro)
+               (cons #{a 1195}#
+                     (#{macros-only-env 336}# (cdr #{r 1192}#)))
+               (#{macros-only-env 336}# (cdr #{r 1192}#))))))))
+   (#{lookup 338}#
+     (lambda (#{x 1196}# #{r 1197}# #{mod 1198}#)
        (begin
-         (let ((#{t 1191}# (assq #{x 1183}# #{r 1184}#)))
-           (if #{t 1191}#
-             (cdr #{t 1191}#)
-             (if (symbol? #{x 1183}#)
+         (let ((#{t 1204}# (assq #{x 1196}# #{r 1197}#)))
+           (if #{t 1204}#
+             (cdr #{t 1204}#)
+             (if (symbol? #{x 1196}#)
                (begin
-                 (let ((#{t 1197}#
-                         (#{get-global-definition-hook 257}#
-                           #{x 1183}#
-                           #{mod 1185}#)))
-                   (if #{t 1197}# #{t 1197}# '(global))))
+                 (let ((#{t 1210}#
+                         (#{get-global-definition-hook 258}#
+                           #{x 1196}#
+                           #{mod 1198}#)))
+                   (if #{t 1210}# #{t 1210}# '(global))))
                '(displaced-lexical)))))))
-   (#{global-extend 335}#
-     (lambda (#{type 1202}# #{sym 1203}# #{val 1204}#)
-       (#{put-global-definition-hook 255}#
-         #{sym 1203}#
-         #{type 1202}#
-         #{val 1204}#)))
-   (#{nonsymbol-id? 337}#
-     (lambda (#{x 1208}#)
-       (if (#{syntax-object? 305}# #{x 1208}#)
+   (#{global-extend 340}#
+     (lambda (#{type 1215}# #{sym 1216}# #{val 1217}#)
+       (#{put-global-definition-hook 256}#
+         #{sym 1216}#
+         #{type 1215}#
+         #{val 1217}#)))
+   (#{nonsymbol-id? 342}#
+     (lambda (#{x 1221}#)
+       (if (#{syntax-object? 307}# #{x 1221}#)
          (symbol?
-           (#{syntax-object-expression 307}# #{x 1208}#))
+           (#{syntax-object-expression 309}# #{x 1221}#))
          #f)))
-   (#{id? 339}#
-     (lambda (#{x 1212}#)
-       (if (symbol? #{x 1212}#)
+   (#{id? 344}#
+     (lambda (#{x 1225}#)
+       (if (symbol? #{x 1225}#)
          #t
-         (if (#{syntax-object? 305}# #{x 1212}#)
+         (if (#{syntax-object? 307}# #{x 1225}#)
            (symbol?
-             (#{syntax-object-expression 307}# #{x 1212}#))
+             (#{syntax-object-expression 309}# #{x 1225}#))
            #f))))
-   (#{id-sym-name&marks 342}#
-     (lambda (#{x 1219}# #{w 1220}#)
-       (if (#{syntax-object? 305}# #{x 1219}#)
+   (#{id-sym-name&marks 348}#
+     (lambda (#{x 1232}# #{w 1233}#)
+       (if (#{syntax-object? 307}# #{x 1232}#)
          (values
-           (#{syntax-object-expression 307}# #{x 1219}#)
-           (#{join-marks 389}#
-             (car #{w 1220}#)
-             (car (#{syntax-object-wrap 309}# #{x 1219}#))))
-         (values #{x 1219}# (car #{w 1220}#)))))
-   (#{gen-label 352}#
+           (#{syntax-object-expression 309}# #{x 1232}#)
+           (#{join-marks 402}#
+             (car #{w 1233}#)
+             (car (#{syntax-object-wrap 311}# #{x 1232}#))))
+         (values #{x 1232}# (car #{w 1233}#)))))
+   (#{gen-label 362}#
      (lambda () (symbol->string (gensym "i"))))
-   (#{gen-labels 354}#
-     (lambda (#{ls 1226}#)
-       (if (null? #{ls 1226}#)
+   (#{gen-labels 364}#
+     (lambda (#{ls 1239}#)
+       (if (null? #{ls 1239}#)
          '()
-         (cons (#{gen-label 352}#)
-               (#{gen-labels 354}# (cdr #{ls 1226}#))))))
-   (#{make-ribcage 357}#
-     (lambda (#{symnames 1228}#
-              #{marks 1229}#
-              #{labels 1230}#)
+         (cons (#{gen-label 362}#)
+               (#{gen-labels 364}# (cdr #{ls 1239}#))))))
+   (#{make-ribcage 367}#
+     (lambda (#{symnames 1241}#
+              #{marks 1242}#
+              #{labels 1243}#)
        (vector
          'ribcage
-         #{symnames 1228}#
-         #{marks 1229}#
-         #{labels 1230}#)))
-   (#{ribcage-symnames 361}#
-     (lambda (#{x 1239}#) (vector-ref #{x 1239}# 1)))
-   (#{ribcage-marks 363}#
-     (lambda (#{x 1241}#) (vector-ref #{x 1241}# 2)))
-   (#{ribcage-labels 365}#
-     (lambda (#{x 1243}#) (vector-ref #{x 1243}# 3)))
-   (#{set-ribcage-symnames! 367}#
-     (lambda (#{x 1245}# #{update 1246}#)
-       (vector-set! #{x 1245}# 1 #{update 1246}#)))
-   (#{set-ribcage-marks! 369}#
-     (lambda (#{x 1249}# #{update 1250}#)
-       (vector-set! #{x 1249}# 2 #{update 1250}#)))
-   (#{set-ribcage-labels! 371}#
-     (lambda (#{x 1253}# #{update 1254}#)
-       (vector-set! #{x 1253}# 3 #{update 1254}#)))
-   (#{anti-mark 377}#
-     (lambda (#{w 1257}#)
-       (cons (cons #f (car #{w 1257}#))
-             (cons 'shift (cdr #{w 1257}#)))))
-   (#{extend-ribcage! 381}#
-     (lambda (#{ribcage 1263}# #{id 1264}# #{label 1265}#)
+         #{symnames 1241}#
+         #{marks 1242}#
+         #{labels 1243}#)))
+   (#{ribcage-symnames 371}#
+     (lambda (#{x 1252}#) (vector-ref #{x 1252}# 1)))
+   (#{ribcage-marks 373}#
+     (lambda (#{x 1254}#) (vector-ref #{x 1254}# 2)))
+   (#{ribcage-labels 375}#
+     (lambda (#{x 1256}#) (vector-ref #{x 1256}# 3)))
+   (#{set-ribcage-symnames! 377}#
+     (lambda (#{x 1258}# #{update 1259}#)
+       (vector-set! #{x 1258}# 1 #{update 1259}#)))
+   (#{set-ribcage-marks! 379}#
+     (lambda (#{x 1262}# #{update 1263}#)
+       (vector-set! #{x 1262}# 2 #{update 1263}#)))
+   (#{set-ribcage-labels! 381}#
+     (lambda (#{x 1266}# #{update 1267}#)
+       (vector-set! #{x 1266}# 3 #{update 1267}#)))
+   (#{anti-mark 388}#
+     (lambda (#{w 1270}#)
+       (cons (cons #f (car #{w 1270}#))
+             (cons 'shift (cdr #{w 1270}#)))))
+   (#{extend-ribcage! 394}#
+     (lambda (#{ribcage 1276}# #{id 1277}# #{label 1278}#)
        (begin
-         (#{set-ribcage-symnames! 367}#
-           #{ribcage 1263}#
-           (cons (#{syntax-object-expression 307}# #{id 1264}#)
-                 (#{ribcage-symnames 361}# #{ribcage 1263}#)))
-         (#{set-ribcage-marks! 369}#
-           #{ribcage 1263}#
-           (cons (car (#{syntax-object-wrap 309}# #{id 1264}#))
-                 (#{ribcage-marks 363}# #{ribcage 1263}#)))
-         (#{set-ribcage-labels! 371}#
-           #{ribcage 1263}#
-           (cons #{label 1265}#
-                 (#{ribcage-labels 365}# #{ribcage 1263}#))))))
-   (#{make-binding-wrap 383}#
-     (lambda (#{ids 1270}# #{labels 1271}# #{w 1272}#)
-       (if (null? #{ids 1270}#)
-         #{w 1272}#
-         (cons (car #{w 1272}#)
+         (#{set-ribcage-symnames! 377}#
+           #{ribcage 1276}#
+           (cons (#{syntax-object-expression 309}# #{id 1277}#)
+                 (#{ribcage-symnames 371}# #{ribcage 1276}#)))
+         (#{set-ribcage-marks! 379}#
+           #{ribcage 1276}#
+           (cons (car (#{syntax-object-wrap 311}# #{id 1277}#))
+                 (#{ribcage-marks 373}# #{ribcage 1276}#)))
+         (#{set-ribcage-labels! 381}#
+           #{ribcage 1276}#
+           (cons #{label 1278}#
+                 (#{ribcage-labels 375}# #{ribcage 1276}#))))))
+   (#{make-binding-wrap 396}#
+     (lambda (#{ids 1283}# #{labels 1284}# #{w 1285}#)
+       (if (null? #{ids 1283}#)
+         #{w 1285}#
+         (cons (car #{w 1285}#)
                (cons (begin
-                       (let ((#{labelvec 1279}#
-                               (list->vector #{labels 1271}#)))
+                       (let ((#{labelvec 1292}#
+                               (list->vector #{labels 1284}#)))
                          (begin
-                           (let ((#{n 1281}#
-                                   (vector-length #{labelvec 1279}#)))
+                           (let ((#{n 1294}#
+                                   (vector-length #{labelvec 1292}#)))
                              (begin
-                               (let ((#{symnamevec 1284}#
-                                       (make-vector #{n 1281}#))
-                                     (#{marksvec 1285}#
-                                       (make-vector #{n 1281}#)))
+                               (let ((#{symnamevec 1297}#
+                                       (make-vector #{n 1294}#))
+                                     (#{marksvec 1298}#
+                                       (make-vector #{n 1294}#)))
                                  (begin
                                    (letrec*
-                                     ((#{f 1289}#
-                                        (lambda (#{ids 1290}# #{i 1291}#)
-                                          (if (not (null? #{ids 1290}#))
+                                     ((#{f 1302}#
+                                        (lambda (#{ids 1303}# #{i 1304}#)
+                                          (if (not (null? #{ids 1303}#))
                                             (call-with-values
                                               (lambda ()
-                                                (#{id-sym-name&marks 342}#
-                                                  (car #{ids 1290}#)
-                                                  #{w 1272}#))
-                                              (lambda (#{symname 1292}#
-                                                       #{marks 1293}#)
+                                                (#{id-sym-name&marks 348}#
+                                                  (car #{ids 1303}#)
+                                                  #{w 1285}#))
+                                              (lambda (#{symname 1305}#
+                                                       #{marks 1306}#)
                                                 (begin
                                                   (vector-set!
-                                                    #{symnamevec 1284}#
-                                                    #{i 1291}#
-                                                    #{symname 1292}#)
+                                                    #{symnamevec 1297}#
+                                                    #{i 1304}#
+                                                    #{symname 1305}#)
                                                   (vector-set!
-                                                    #{marksvec 1285}#
-                                                    #{i 1291}#
-                                                    #{marks 1293}#)
-                                                  (#{f 1289}#
-                                                    (cdr #{ids 1290}#)
-                                                    (#{1+}# #{i 1291}#)))))))))
-                                     (begin (#{f 1289}# #{ids 1270}# 0)))
-                                   (#{make-ribcage 357}#
-                                     #{symnamevec 1284}#
-                                     #{marksvec 1285}#
-                                     #{labelvec 1279}#))))))))
-                     (cdr #{w 1272}#))))))
-   (#{smart-append 385}#
-     (lambda (#{m1 1298}# #{m2 1299}#)
-       (if (null? #{m2 1299}#)
-         #{m1 1298}#
-         (append #{m1 1298}# #{m2 1299}#))))
-   (#{join-wraps 387}#
-     (lambda (#{w1 1302}# #{w2 1303}#)
+                                                    #{marksvec 1298}#
+                                                    #{i 1304}#
+                                                    #{marks 1306}#)
+                                                  (#{f 1302}#
+                                                    (cdr #{ids 1303}#)
+                                                    (#{1+}# #{i 1304}#)))))))))
+                                     (begin (#{f 1302}# #{ids 1283}# 0)))
+                                   (#{make-ribcage 367}#
+                                     #{symnamevec 1297}#
+                                     #{marksvec 1298}#
+                                     #{labelvec 1292}#))))))))
+                     (cdr #{w 1285}#))))))
+   (#{smart-append 398}#
+     (lambda (#{m1 1311}# #{m2 1312}#)
+       (if (null? #{m2 1312}#)
+         #{m1 1311}#
+         (append #{m1 1311}# #{m2 1312}#))))
+   (#{join-wraps 400}#
+     (lambda (#{w1 1315}# #{w2 1316}#)
        (begin
-         (let ((#{m1 1308}# (car #{w1 1302}#))
-               (#{s1 1309}# (cdr #{w1 1302}#)))
-           (if (null? #{m1 1308}#)
-             (if (null? #{s1 1309}#)
-               #{w2 1303}#
-               (cons (car #{w2 1303}#)
-                     (#{smart-append 385}#
-                       #{s1 1309}#
-                       (cdr #{w2 1303}#))))
-             (cons (#{smart-append 385}#
-                     #{m1 1308}#
-                     (car #{w2 1303}#))
-                   (#{smart-append 385}#
-                     #{s1 1309}#
-                     (cdr #{w2 1303}#))))))))
-   (#{join-marks 389}#
-     (lambda (#{m1 1318}# #{m2 1319}#)
-       (#{smart-append 385}# #{m1 1318}# #{m2 1319}#)))
-   (#{same-marks? 391}#
-     (lambda (#{x 1322}# #{y 1323}#)
+         (let ((#{m1 1321}# (car #{w1 1315}#))
+               (#{s1 1322}# (cdr #{w1 1315}#)))
+           (if (null? #{m1 1321}#)
+             (if (null? #{s1 1322}#)
+               #{w2 1316}#
+               (cons (car #{w2 1316}#)
+                     (#{smart-append 398}#
+                       #{s1 1322}#
+                       (cdr #{w2 1316}#))))
+             (cons (#{smart-append 398}#
+                     #{m1 1321}#
+                     (car #{w2 1316}#))
+                   (#{smart-append 398}#
+                     #{s1 1322}#
+                     (cdr #{w2 1316}#))))))))
+   (#{join-marks 402}#
+     (lambda (#{m1 1331}# #{m2 1332}#)
+       (#{smart-append 398}# #{m1 1331}# #{m2 1332}#)))
+   (#{same-marks? 404}#
+     (lambda (#{x 1335}# #{y 1336}#)
        (begin
-         (let ((#{t 1328}# (eq? #{x 1322}# #{y 1323}#)))
-           (if #{t 1328}#
-             #{t 1328}#
-             (if (not (null? #{x 1322}#))
-               (if (not (null? #{y 1323}#))
-                 (if (eq? (car #{x 1322}#) (car #{y 1323}#))
-                   (#{same-marks? 391}#
-                     (cdr #{x 1322}#)
-                     (cdr #{y 1323}#))
+         (let ((#{t 1341}# (eq? #{x 1335}# #{y 1336}#)))
+           (if #{t 1341}#
+             #{t 1341}#
+             (if (not (null? #{x 1335}#))
+               (if (not (null? #{y 1336}#))
+                 (if (eq? (car #{x 1335}#) (car #{y 1336}#))
+                   (#{same-marks? 404}#
+                     (cdr #{x 1335}#)
+                     (cdr #{y 1336}#))
                    #f)
                  #f)
                #f))))))
-   (#{id-var-name 393}#
-     (lambda (#{id 1334}# #{w 1335}#)
+   (#{id-var-name 406}#
+     (lambda (#{id 1347}# #{w 1348}#)
        (letrec*
-         ((#{search 1340}#
-            (lambda (#{sym 1356}# #{subst 1357}# #{marks 1358}#)
-              (if (null? #{subst 1357}#)
-                (values #f #{marks 1358}#)
+         ((#{search 1354}#
+            (lambda (#{sym 1370}# #{subst 1371}# #{marks 1372}#)
+              (if (null? #{subst 1371}#)
+                (values #f #{marks 1372}#)
                 (begin
-                  (let ((#{fst 1363}# (car #{subst 1357}#)))
-                    (if (eq? #{fst 1363}# 'shift)
-                      (#{search 1340}#
-                        #{sym 1356}#
-                        (cdr #{subst 1357}#)
-                        (cdr #{marks 1358}#))
+                  (let ((#{fst 1377}# (car #{subst 1371}#)))
+                    (if (eq? #{fst 1377}# 'shift)
+                      (#{search 1354}#
+                        #{sym 1370}#
+                        (cdr #{subst 1371}#)
+                        (cdr #{marks 1372}#))
                       (begin
-                        (let ((#{symnames 1365}#
-                                (#{ribcage-symnames 361}# #{fst 1363}#)))
-                          (if (vector? #{symnames 1365}#)
-                            (#{search-vector-rib 1344}#
-                              #{sym 1356}#
-                              #{subst 1357}#
-                              #{marks 1358}#
-                              #{symnames 1365}#
-                              #{fst 1363}#)
-                            (#{search-list-rib 1342}#
-                              #{sym 1356}#
-                              #{subst 1357}#
-                              #{marks 1358}#
-                              #{symnames 1365}#
-                              #{fst 1363}#))))))))))
-          (#{search-list-rib 1342}#
-            (lambda (#{sym 1366}#
-                     #{subst 1367}#
-                     #{marks 1368}#
-                     #{symnames 1369}#
-                     #{ribcage 1370}#)
+                        (let ((#{symnames 1379}#
+                                (#{ribcage-symnames 371}# #{fst 1377}#)))
+                          (if (vector? #{symnames 1379}#)
+                            (#{search-vector-rib 1358}#
+                              #{sym 1370}#
+                              #{subst 1371}#
+                              #{marks 1372}#
+                              #{symnames 1379}#
+                              #{fst 1377}#)
+                            (#{search-list-rib 1356}#
+                              #{sym 1370}#
+                              #{subst 1371}#
+                              #{marks 1372}#
+                              #{symnames 1379}#
+                              #{fst 1377}#))))))))))
+          (#{search-list-rib 1356}#
+            (lambda (#{sym 1380}#
+                     #{subst 1381}#
+                     #{marks 1382}#
+                     #{symnames 1383}#
+                     #{ribcage 1384}#)
               (letrec*
-                ((#{f 1379}#
-                   (lambda (#{symnames 1380}# #{i 1381}#)
-                     (if (null? #{symnames 1380}#)
-                       (#{search 1340}#
-                         #{sym 1366}#
-                         (cdr #{subst 1367}#)
-                         #{marks 1368}#)
-                       (if (if (eq? (car #{symnames 1380}#) #{sym 1366}#)
-                             (#{same-marks? 391}#
-                               #{marks 1368}#
+                ((#{f 1393}#
+                   (lambda (#{symnames 1394}# #{i 1395}#)
+                     (if (null? #{symnames 1394}#)
+                       (#{search 1354}#
+                         #{sym 1380}#
+                         (cdr #{subst 1381}#)
+                         #{marks 1382}#)
+                       (if (if (eq? (car #{symnames 1394}#) #{sym 1380}#)
+                             (#{same-marks? 404}#
+                               #{marks 1382}#
                                (list-ref
-                                 (#{ribcage-marks 363}# #{ribcage 1370}#)
-                                 #{i 1381}#))
+                                 (#{ribcage-marks 373}# #{ribcage 1384}#)
+                                 #{i 1395}#))
                              #f)
                          (values
                            (list-ref
-                             (#{ribcage-labels 365}# #{ribcage 1370}#)
-                             #{i 1381}#)
-                           #{marks 1368}#)
-                         (#{f 1379}#
-                           (cdr #{symnames 1380}#)
-                           (#{1+}# #{i 1381}#)))))))
-                (begin (#{f 1379}# #{symnames 1369}# 0)))))
-          (#{search-vector-rib 1344}#
-            (lambda (#{sym 1390}#
-                     #{subst 1391}#
-                     #{marks 1392}#
-                     #{symnames 1393}#
-                     #{ribcage 1394}#)
+                             (#{ribcage-labels 375}# #{ribcage 1384}#)
+                             #{i 1395}#)
+                           #{marks 1382}#)
+                         (#{f 1393}#
+                           (cdr #{symnames 1394}#)
+                           (#{1+}# #{i 1395}#)))))))
+                (begin (#{f 1393}# #{symnames 1383}# 0)))))
+          (#{search-vector-rib 1358}#
+            (lambda (#{sym 1404}#
+                     #{subst 1405}#
+                     #{marks 1406}#
+                     #{symnames 1407}#
+                     #{ribcage 1408}#)
               (begin
-                (let ((#{n 1401}# (vector-length #{symnames 1393}#)))
+                (let ((#{n 1415}# (vector-length #{symnames 1407}#)))
                   (letrec*
-                    ((#{f 1404}#
-                       (lambda (#{i 1405}#)
-                         (if (= #{i 1405}# #{n 1401}#)
-                           (#{search 1340}#
-                             #{sym 1390}#
-                             (cdr #{subst 1391}#)
-                             #{marks 1392}#)
+                    ((#{f 1418}#
+                       (lambda (#{i 1419}#)
+                         (if (= #{i 1419}# #{n 1415}#)
+                           (#{search 1354}#
+                             #{sym 1404}#
+                             (cdr #{subst 1405}#)
+                             #{marks 1406}#)
                            (if (if (eq? (vector-ref
-                                          #{symnames 1393}#
-                                          #{i 1405}#)
-                                        #{sym 1390}#)
-                                 (#{same-marks? 391}#
-                                   #{marks 1392}#
+                                          #{symnames 1407}#
+                                          #{i 1419}#)
+                                        #{sym 1404}#)
+                                 (#{same-marks? 404}#
+                                   #{marks 1406}#
                                    (vector-ref
-                                     (#{ribcage-marks 363}# #{ribcage 1394}#)
-                                     #{i 1405}#))
+                                     (#{ribcage-marks 373}# #{ribcage 1408}#)
+                                     #{i 1419}#))
                                  #f)
                              (values
                                (vector-ref
-                                 (#{ribcage-labels 365}# #{ribcage 1394}#)
-                                 #{i 1405}#)
-                               #{marks 1392}#)
-                             (#{f 1404}# (#{1+}# #{i 1405}#)))))))
-                    (begin (#{f 1404}# 0))))))))
+                                 (#{ribcage-labels 375}# #{ribcage 1408}#)
+                                 #{i 1419}#)
+                               #{marks 1406}#)
+                             (#{f 1418}# (#{1+}# #{i 1419}#)))))))
+                    (begin (#{f 1418}# 0))))))))
          (begin
-           (if (symbol? #{id 1334}#)
+           (if (symbol? #{id 1347}#)
              (begin
-               (let ((#{t 1417}#
-                       (#{search 1340}#
-                         #{id 1334}#
-                         (cdr #{w 1335}#)
-                         (car #{w 1335}#))))
-                 (if #{t 1417}# #{t 1417}# #{id 1334}#)))
-             (if (#{syntax-object? 305}# #{id 1334}#)
+               (let ((#{t 1431}#
+                       (#{search 1354}#
+                         #{id 1347}#
+                         (cdr #{w 1348}#)
+                         (car #{w 1348}#))))
+                 (if #{t 1431}# #{t 1431}# #{id 1347}#)))
+             (if (#{syntax-object? 307}# #{id 1347}#)
                (begin
-                 (let ((#{id 1426}#
-                         (#{syntax-object-expression 307}# #{id 1334}#))
-                       (#{w1 1427}#
-                         (#{syntax-object-wrap 309}# #{id 1334}#)))
+                 (let ((#{id 1440}#
+                         (#{syntax-object-expression 309}# #{id 1347}#))
+                       (#{w1 1441}#
+                         (#{syntax-object-wrap 311}# #{id 1347}#)))
                    (begin
-                     (let ((#{marks 1429}#
-                             (#{join-marks 389}#
-                               (car #{w 1335}#)
-                               (car #{w1 1427}#))))
+                     (let ((#{marks 1443}#
+                             (#{join-marks 402}#
+                               (car #{w 1348}#)
+                               (car #{w1 1441}#))))
                        (call-with-values
                          (lambda ()
-                           (#{search 1340}#
-                             #{id 1426}#
-                             (cdr #{w 1335}#)
-                             #{marks 1429}#))
-                         (lambda (#{new-id 1433}# #{marks 1434}#)
+                           (#{search 1354}#
+                             #{id 1440}#
+                             (cdr #{w 1348}#)
+                             #{marks 1443}#))
+                         (lambda (#{new-id 1447}# #{marks 1448}#)
                            (begin
-                             (let ((#{t 1439}# #{new-id 1433}#))
-                               (if #{t 1439}#
-                                 #{t 1439}#
+                             (let ((#{t 1453}# #{new-id 1447}#))
+                               (if #{t 1453}#
+                                 #{t 1453}#
                                  (begin
-                                   (let ((#{t 1442}#
-                                           (#{search 1340}#
-                                             #{id 1426}#
-                                             (cdr #{w1 1427}#)
-                                             #{marks 1434}#)))
-                                     (if #{t 1442}#
-                                       #{t 1442}#
-                                       #{id 1426}#))))))))))))
+                                   (let ((#{t 1456}#
+                                           (#{search 1354}#
+                                             #{id 1440}#
+                                             (cdr #{w1 1441}#)
+                                             #{marks 1448}#)))
+                                     (if #{t 1456}#
+                                       #{t 1456}#
+                                       #{id 1440}#))))))))))))
                (syntax-violation
                  'id-var-name
                  "invalid id"
-                 #{id 1334}#)))))))
-   (#{free-id=? 395}#
-     (lambda (#{i 1447}# #{j 1448}#)
+                 #{id 1347}#)))))))
+   (#{free-id=? 408}#
+     (lambda (#{i 1461}# #{j 1462}#)
        (if (eq? (begin
-                  (let ((#{x 1454}# #{i 1447}#))
-                    (if (#{syntax-object? 305}# #{x 1454}#)
-                      (#{syntax-object-expression 307}# #{x 1454}#)
-                      #{x 1454}#)))
+                  (let ((#{x 1468}# #{i 1461}#))
+                    (if (#{syntax-object? 307}# #{x 1468}#)
+                      (#{syntax-object-expression 309}# #{x 1468}#)
+                      #{x 1468}#)))
                 (begin
-                  (let ((#{x 1457}# #{j 1448}#))
-                    (if (#{syntax-object? 305}# #{x 1457}#)
-                      (#{syntax-object-expression 307}# #{x 1457}#)
-                      #{x 1457}#))))
-         (eq? (#{id-var-name 393}# #{i 1447}# '(()))
-              (#{id-var-name 393}# #{j 1448}# '(())))
+                  (let ((#{x 1471}# #{j 1462}#))
+                    (if (#{syntax-object? 307}# #{x 1471}#)
+                      (#{syntax-object-expression 309}# #{x 1471}#)
+                      #{x 1471}#))))
+         (eq? (#{id-var-name 406}# #{i 1461}# '(()))
+              (#{id-var-name 406}# #{j 1462}# '(())))
          #f)))
-   (#{bound-id=? 397}#
-     (lambda (#{i 1461}# #{j 1462}#)
-       (if (if (#{syntax-object? 305}# #{i 1461}#)
-             (#{syntax-object? 305}# #{j 1462}#)
+   (#{bound-id=? 410}#
+     (lambda (#{i 1475}# #{j 1476}#)
+       (if (if (#{syntax-object? 307}# #{i 1475}#)
+             (#{syntax-object? 307}# #{j 1476}#)
              #f)
-         (if (eq? (#{syntax-object-expression 307}# #{i 1461}#)
-                  (#{syntax-object-expression 307}# #{j 1462}#))
-           (#{same-marks? 391}#
-             (car (#{syntax-object-wrap 309}# #{i 1461}#))
-             (car (#{syntax-object-wrap 309}# #{j 1462}#)))
+         (if (eq? (#{syntax-object-expression 309}# #{i 1475}#)
+                  (#{syntax-object-expression 309}# #{j 1476}#))
+           (#{same-marks? 404}#
+             (car (#{syntax-object-wrap 311}# #{i 1475}#))
+             (car (#{syntax-object-wrap 311}# #{j 1476}#)))
            #f)
-         (eq? #{i 1461}# #{j 1462}#))))
-   (#{valid-bound-ids? 399}#
-     (lambda (#{ids 1471}#)
+         (eq? #{i 1475}# #{j 1476}#))))
+   (#{valid-bound-ids? 412}#
+     (lambda (#{ids 1485}#)
        (if (letrec*
-             ((#{all-ids? 1476}#
-                (lambda (#{ids 1477}#)
+             ((#{all-ids? 1490}#
+                (lambda (#{ids 1491}#)
                   (begin
-                    (let ((#{t 1480}# (null? #{ids 1477}#)))
-                      (if #{t 1480}#
-                        #{t 1480}#
-                        (if (#{id? 339}# (car #{ids 1477}#))
-                          (#{all-ids? 1476}# (cdr #{ids 1477}#))
+                    (let ((#{t 1494}# (null? #{ids 1491}#)))
+                      (if #{t 1494}#
+                        #{t 1494}#
+                        (if (#{id? 344}# (car #{ids 1491}#))
+                          (#{all-ids? 1490}# (cdr #{ids 1491}#))
                           #f)))))))
-             (begin (#{all-ids? 1476}# #{ids 1471}#)))
-         (#{distinct-bound-ids? 401}# #{ids 1471}#)
+             (begin (#{all-ids? 1490}# #{ids 1485}#)))
+         (#{distinct-bound-ids? 414}# #{ids 1485}#)
          #f)))
-   (#{distinct-bound-ids? 401}#
-     (lambda (#{ids 1485}#)
+   (#{distinct-bound-ids? 414}#
+     (lambda (#{ids 1499}#)
        (letrec*
-         ((#{distinct? 1489}#
-            (lambda (#{ids 1490}#)
+         ((#{distinct? 1503}#
+            (lambda (#{ids 1504}#)
               (begin
-                (let ((#{t 1493}# (null? #{ids 1490}#)))
-                  (if #{t 1493}#
-                    #{t 1493}#
-                    (if (not (#{bound-id-member? 403}#
-                               (car #{ids 1490}#)
-                               (cdr #{ids 1490}#)))
-                      (#{distinct? 1489}# (cdr #{ids 1490}#))
+                (let ((#{t 1507}# (null? #{ids 1504}#)))
+                  (if #{t 1507}#
+                    #{t 1507}#
+                    (if (not (#{bound-id-member? 416}#
+                               (car #{ids 1504}#)
+                               (cdr #{ids 1504}#)))
+                      (#{distinct? 1503}# (cdr #{ids 1504}#))
                       #f)))))))
-         (begin (#{distinct? 1489}# #{ids 1485}#)))))
-   (#{bound-id-member? 403}#
-     (lambda (#{x 1497}# #{list 1498}#)
-       (if (not (null? #{list 1498}#))
+         (begin (#{distinct? 1503}# #{ids 1499}#)))))
+   (#{bound-id-member? 416}#
+     (lambda (#{x 1511}# #{list 1512}#)
+       (if (not (null? #{list 1512}#))
          (begin
-           (let ((#{t 1505}#
-                   (#{bound-id=? 397}#
-                     #{x 1497}#
-                     (car #{list 1498}#))))
-             (if #{t 1505}#
-               #{t 1505}#
-               (#{bound-id-member? 403}#
-                 #{x 1497}#
-                 (cdr #{list 1498}#)))))
+           (let ((#{t 1519}#
+                   (#{bound-id=? 410}#
+                     #{x 1511}#
+                     (car #{list 1512}#))))
+             (if #{t 1519}#
+               #{t 1519}#
+               (#{bound-id-member? 416}#
+                 #{x 1511}#
+                 (cdr #{list 1512}#)))))
          #f)))
-   (#{wrap 405}#
-     (lambda (#{x 1507}# #{w 1508}# #{defmod 1509}#)
-       (if (if (null? (car #{w 1508}#))
-             (null? (cdr #{w 1508}#))
+   (#{wrap 418}#
+     (lambda (#{x 1521}# #{w 1522}# #{defmod 1523}#)
+       (if (if (null? (car #{w 1522}#))
+             (null? (cdr #{w 1522}#))
              #f)
-         #{x 1507}#
-         (if (#{syntax-object? 305}# #{x 1507}#)
-           (#{make-syntax-object 303}#
-             (#{syntax-object-expression 307}# #{x 1507}#)
-             (#{join-wraps 387}#
-               #{w 1508}#
-               (#{syntax-object-wrap 309}# #{x 1507}#))
-             (#{syntax-object-module 311}# #{x 1507}#))
-           (if (null? #{x 1507}#)
-             #{x 1507}#
-             (#{make-syntax-object 303}#
-               #{x 1507}#
-               #{w 1508}#
-               #{defmod 1509}#))))))
-   (#{source-wrap 407}#
-     (lambda (#{x 1524}#
-              #{w 1525}#
-              #{s 1526}#
-              #{defmod 1527}#)
-       (#{wrap 405}#
-         (#{decorate-source 259}# #{x 1524}# #{s 1526}#)
-         #{w 1525}#
-         #{defmod 1527}#)))
-   (#{chi-sequence 409}#
-     (lambda (#{body 1532}#
-              #{r 1533}#
-              #{w 1534}#
-              #{s 1535}#
-              #{mod 1536}#)
-       (#{build-sequence 293}#
-         #{s 1535}#
+         #{x 1521}#
+         (if (#{syntax-object? 307}# #{x 1521}#)
+           (#{make-syntax-object 305}#
+             (#{syntax-object-expression 309}# #{x 1521}#)
+             (#{join-wraps 400}#
+               #{w 1522}#
+               (#{syntax-object-wrap 311}# #{x 1521}#))
+             (#{syntax-object-module 313}# #{x 1521}#))
+           (if (null? #{x 1521}#)
+             #{x 1521}#
+             (#{make-syntax-object 305}#
+               #{x 1521}#
+               #{w 1522}#
+               #{defmod 1523}#))))))
+   (#{source-wrap 420}#
+     (lambda (#{x 1538}#
+              #{w 1539}#
+              #{s 1540}#
+              #{defmod 1541}#)
+       (#{wrap 418}#
+         (#{decorate-source 260}# #{x 1538}# #{s 1540}#)
+         #{w 1539}#
+         #{defmod 1541}#)))
+   (#{chi-sequence 422}#
+     (lambda (#{body 1546}#
+              #{r 1547}#
+              #{w 1548}#
+              #{s 1549}#
+              #{mod 1550}#)
+       (#{build-sequence 294}#
+         #{s 1549}#
          (letrec*
-           ((#{dobody 1547}#
-              (lambda (#{body 1548}#
-                       #{r 1549}#
-                       #{w 1550}#
-                       #{mod 1551}#)
-                (if (null? #{body 1548}#)
+           ((#{dobody 1561}#
+              (lambda (#{body 1562}#
+                       #{r 1563}#
+                       #{w 1564}#
+                       #{mod 1565}#)
+                (if (null? #{body 1562}#)
                   '()
                   (begin
-                    (let ((#{first 1553}#
-                            (#{chi 419}#
-                              (car #{body 1548}#)
-                              #{r 1549}#
-                              #{w 1550}#
-                              #{mod 1551}#)))
-                      (cons #{first 1553}#
-                            (#{dobody 1547}#
-                              (cdr #{body 1548}#)
-                              #{r 1549}#
-                              #{w 1550}#
-                              #{mod 1551}#))))))))
+                    (let ((#{first 1567}#
+                            (#{chi 432}#
+                              (car #{body 1562}#)
+                              #{r 1563}#
+                              #{w 1564}#
+                              #{mod 1565}#)))
+                      (cons #{first 1567}#
+                            (#{dobody 1561}#
+                              (cdr #{body 1562}#)
+                              #{r 1563}#
+                              #{w 1564}#
+                              #{mod 1565}#))))))))
            (begin
-             (#{dobody 1547}#
-               #{body 1532}#
-               #{r 1533}#
-               #{w 1534}#
-               #{mod 1536}#))))))
-   (#{chi-top-sequence 411}#
-     (lambda (#{body 1554}#
-              #{r 1555}#
-              #{w 1556}#
-              #{s 1557}#
-              #{m 1558}#
-              #{esew 1559}#
-              #{mod 1560}#)
+             (#{dobody 1561}#
+               #{body 1546}#
+               #{r 1547}#
+               #{w 1548}#
+               #{mod 1550}#))))))
+   (#{chi-top-sequence 424}#
+     (lambda (#{body 1568}#
+              #{r 1569}#
+              #{w 1570}#
+              #{s 1571}#
+              #{m 1572}#
+              #{esew 1573}#
+              #{mod 1574}#)
        (letrec*
-         ((#{scan 1569}#
-            (lambda (#{body 1570}#
-                     #{r 1571}#
-                     #{w 1572}#
-                     #{s 1573}#
-                     #{m 1574}#
-                     #{esew 1575}#
-                     #{mod 1576}#
-                     #{exps 1577}#)
-              (if (null? #{body 1570}#)
-                #{exps 1577}#
+         ((#{scan 1583}#
+            (lambda (#{body 1584}#
+                     #{r 1585}#
+                     #{w 1586}#
+                     #{s 1587}#
+                     #{m 1588}#
+                     #{esew 1589}#
+                     #{mod 1590}#
+                     #{exps 1591}#)
+              (if (null? #{body 1584}#)
+                #{exps 1591}#
                 (call-with-values
                   (lambda ()
                     (call-with-values
                       (lambda ()
                         (begin
-                          (let ((#{e 1590}# (car #{body 1570}#)))
-                            (#{syntax-type 417}#
-                              #{e 1590}#
-                              #{r 1571}#
-                              #{w 1572}#
+                          (let ((#{e 1604}# (car #{body 1584}#)))
+                            (#{syntax-type 430}#
+                              #{e 1604}#
+                              #{r 1585}#
+                              #{w 1586}#
                               (begin
-                                (let ((#{t 1593}#
-                                        (#{source-annotation 320}#
-                                          #{e 1590}#)))
-                                  (if #{t 1593}# #{t 1593}# #{s 1573}#)))
+                                (let ((#{t 1607}#
+                                        (#{source-annotation 322}#
+                                          #{e 1604}#)))
+                                  (if #{t 1607}# #{t 1607}# #{s 1587}#)))
                               #f
-                              #{mod 1576}#
+                              #{mod 1590}#
                               #f))))
-                      (lambda (#{type 1595}#
-                               #{value 1596}#
-                               #{e 1597}#
-                               #{w 1598}#
-                               #{s 1599}#
-                               #{mod 1600}#)
-                        (if (eqv? #{type 1595}# 'begin-form)
-                          (let ((#{tmp 1608}# #{e 1597}#))
-                            (let ((#{tmp 1609}#
-                                    ($sc-dispatch #{tmp 1608}# '(_))))
-                              (if #{tmp 1609}#
-                                (@apply (lambda () #{exps 1577}#) #{tmp 1609}#)
-                                (let ((#{tmp 1610}#
+                      (lambda (#{type 1609}#
+                               #{value 1610}#
+                               #{e 1611}#
+                               #{w 1612}#
+                               #{s 1613}#
+                               #{mod 1614}#)
+                        (if (eqv? #{type 1609}# 'begin-form)
+                          (let ((#{tmp 1622}# #{e 1611}#))
+                            (let ((#{tmp 1623}#
+                                    ($sc-dispatch #{tmp 1622}# '(_))))
+                              (if #{tmp 1623}#
+                                (@apply (lambda () #{exps 1591}#) #{tmp 1623}#)
+                                (let ((#{tmp 1624}#
                                         ($sc-dispatch
-                                          #{tmp 1608}#
+                                          #{tmp 1622}#
                                           '(_ any . each-any))))
-                                  (if #{tmp 1610}#
+                                  (if #{tmp 1624}#
                                     (@apply
-                                      (lambda (#{e1 1613}# #{e2 1614}#)
-                                        (#{scan 1569}#
-                                          (cons #{e1 1613}# #{e2 1614}#)
-                                          #{r 1571}#
-                                          #{w 1598}#
-                                          #{s 1599}#
-                                          #{m 1574}#
-                                          #{esew 1575}#
-                                          #{mod 1600}#
-                                          #{exps 1577}#))
-                                      #{tmp 1610}#)
+                                      (lambda (#{e1 1627}# #{e2 1628}#)
+                                        (#{scan 1583}#
+                                          (cons #{e1 1627}# #{e2 1628}#)
+                                          #{r 1585}#
+                                          #{w 1612}#
+                                          #{s 1613}#
+                                          #{m 1588}#
+                                          #{esew 1589}#
+                                          #{mod 1614}#
+                                          #{exps 1591}#))
+                                      #{tmp 1624}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp 1608}#))))))
-                          (if (eqv? #{type 1595}# 'local-syntax-form)
-                            (#{chi-local-syntax 429}#
-                              #{value 1596}#
-                              #{e 1597}#
-                              #{r 1571}#
-                              #{w 1598}#
-                              #{s 1599}#
-                              #{mod 1600}#
-                              (lambda (#{body 1617}#
-                                       #{r 1618}#
-                                       #{w 1619}#
-                                       #{s 1620}#
-                                       #{mod 1621}#)
-                                (#{scan 1569}#
-                                  #{body 1617}#
-                                  #{r 1618}#
-                                  #{w 1619}#
-                                  #{s 1620}#
-                                  #{m 1574}#
-                                  #{esew 1575}#
-                                  #{mod 1621}#
-                                  #{exps 1577}#)))
-                            (if (eqv? #{type 1595}# 'eval-when-form)
-                              (let ((#{tmp 1628}# #{e 1597}#))
-                                (let ((#{tmp 1629}#
+                                      #{tmp 1622}#))))))
+                          (if (eqv? #{type 1609}# 'local-syntax-form)
+                            (#{chi-local-syntax 442}#
+                              #{value 1610}#
+                              #{e 1611}#
+                              #{r 1585}#
+                              #{w 1612}#
+                              #{s 1613}#
+                              #{mod 1614}#
+                              (lambda (#{body 1631}#
+                                       #{r 1632}#
+                                       #{w 1633}#
+                                       #{s 1634}#
+                                       #{mod 1635}#)
+                                (#{scan 1583}#
+                                  #{body 1631}#
+                                  #{r 1632}#
+                                  #{w 1633}#
+                                  #{s 1634}#
+                                  #{m 1588}#
+                                  #{esew 1589}#
+                                  #{mod 1635}#
+                                  #{exps 1591}#)))
+                            (if (eqv? #{type 1609}# 'eval-when-form)
+                              (let ((#{tmp 1642}# #{e 1611}#))
+                                (let ((#{tmp 1643}#
                                         ($sc-dispatch
-                                          #{tmp 1628}#
+                                          #{tmp 1642}#
                                           '(_ each-any any . each-any))))
-                                  (if #{tmp 1629}#
+                                  (if #{tmp 1643}#
                                     (@apply
-                                      (lambda (#{x 1633}#
-                                               #{e1 1634}#
-                                               #{e2 1635}#)
+                                      (lambda (#{x 1647}#
+                                               #{e1 1648}#
+                                               #{e2 1649}#)
                                         (begin
-                                          (let ((#{when-list 1638}#
-                                                  (#{chi-when-list 415}#
-                                                    #{e 1597}#
-                                                    #{x 1633}#
-                                                    #{w 1598}#))
-                                                (#{body 1639}#
-                                                  (cons #{e1 1634}#
-                                                        #{e2 1635}#)))
-                                            (if (eq? #{m 1574}# 'e)
+                                          (let ((#{when-list 1652}#
+                                                  (#{chi-when-list 428}#
+                                                    #{e 1611}#
+                                                    #{x 1647}#
+                                                    #{w 1612}#))
+                                                (#{body 1653}#
+                                                  (cons #{e1 1648}#
+                                                        #{e2 1649}#)))
+                                            (if (eq? #{m 1588}# 'e)
                                               (if (memq 'eval
-                                                        #{when-list 1638}#)
-                                                (#{scan 1569}#
-                                                  #{body 1639}#
-                                                  #{r 1571}#
-                                                  #{w 1598}#
-                                                  #{s 1599}#
+                                                        #{when-list 1652}#)
+                                                (#{scan 1583}#
+                                                  #{body 1653}#
+                                                  #{r 1585}#
+                                                  #{w 1612}#
+                                                  #{s 1613}#
                                                   (if (memq 'expand
-                                                            #{when-list 1638}#)
+                                                            #{when-list 1652}#)
                                                     'c&e
                                                     'e)
                                                   '(eval)
-                                                  #{mod 1600}#
-                                                  #{exps 1577}#)
+                                                  #{mod 1614}#
+                                                  #{exps 1591}#)
                                                 (begin
                                                   (if (memq 'expand
-                                                            #{when-list 1638}#)
+                                                            #{when-list 1652}#)
                                                     (#{top-level-eval-hook 
250}#
-                                                      (#{chi-top-sequence 411}#
-                                                        #{body 1639}#
-                                                        #{r 1571}#
-                                                        #{w 1598}#
-                                                        #{s 1599}#
+                                                      (#{chi-top-sequence 424}#
+                                                        #{body 1653}#
+                                                        #{r 1585}#
+                                                        #{w 1612}#
+                                                        #{s 1613}#
                                                         'e
                                                         '(eval)
-                                                        #{mod 1600}#)
-                                                      #{mod 1600}#))
-                                                  (values #{exps 1577}#)))
+                                                        #{mod 1614}#)
+                                                      #{mod 1614}#))
+                                                  (values #{exps 1591}#)))
                                               (if (memq 'load
-                                                        #{when-list 1638}#)
+                                                        #{when-list 1652}#)
                                                 (if (begin
-                                                      (let ((#{t 1648}#
+                                                      (let ((#{t 1662}#
                                                               (memq 'compile
-                                                                    
#{when-list 1638}#)))
-                                                        (if #{t 1648}#
-                                                          #{t 1648}#
+                                                                    
#{when-list 1652}#)))
+                                                        (if #{t 1662}#
+                                                          #{t 1662}#
                                                           (begin
-                                                            (let ((#{t 1651}#
+                                                            (let ((#{t 1665}#
                                                                     (memq 
'expand
-                                                                          
#{when-list 1638}#)))
-                                                              (if #{t 1651}#
-                                                                #{t 1651}#
-                                                                (if (eq? #{m 
1574}#
+                                                                          
#{when-list 1652}#)))
+                                                              (if #{t 1665}#
+                                                                #{t 1665}#
+                                                                (if (eq? #{m 
1588}#
                                                                          'c&e)
                                                                   (memq 'eval
-                                                                        
#{when-list 1638}#)
+                                                                        
#{when-list 1652}#)
                                                                   #f)))))))
-                                                  (#{scan 1569}#
-                                                    #{body 1639}#
-                                                    #{r 1571}#
-                                                    #{w 1598}#
-                                                    #{s 1599}#
+                                                  (#{scan 1583}#
+                                                    #{body 1653}#
+                                                    #{r 1585}#
+                                                    #{w 1612}#
+                                                    #{s 1613}#
                                                     'c&e
                                                     '(compile load)
-                                                    #{mod 1600}#
-                                                    #{exps 1577}#)
-                                                  (if (if (eq? #{m 1574}# 'c)
+                                                    #{mod 1614}#
+                                                    #{exps 1591}#)
+                                                  (if (if (eq? #{m 1588}# 'c)
                                                         #t
-                                                        (eq? #{m 1574}# 'c&e))
-                                                    (#{scan 1569}#
-                                                      #{body 1639}#
-                                                      #{r 1571}#
-                                                      #{w 1598}#
-                                                      #{s 1599}#
+                                                        (eq? #{m 1588}# 'c&e))
+                                                    (#{scan 1583}#
+                                                      #{body 1653}#
+                                                      #{r 1585}#
+                                                      #{w 1612}#
+                                                      #{s 1613}#
                                                       'c
                                                       '(load)
-                                                      #{mod 1600}#
-                                                      #{exps 1577}#)
-                                                    (values #{exps 1577}#)))
+                                                      #{mod 1614}#
+                                                      #{exps 1591}#)
+                                                    (values #{exps 1591}#)))
                                                 (if (begin
-                                                      (let ((#{t 1659}#
+                                                      (let ((#{t 1673}#
                                                               (memq 'compile
-                                                                    
#{when-list 1638}#)))
-                                                        (if #{t 1659}#
-                                                          #{t 1659}#
+                                                                    
#{when-list 1652}#)))
+                                                        (if #{t 1673}#
+                                                          #{t 1673}#
                                                           (begin
-                                                            (let ((#{t 1662}#
+                                                            (let ((#{t 1676}#
                                                                     (memq 
'expand
-                                                                          
#{when-list 1638}#)))
-                                                              (if #{t 1662}#
-                                                                #{t 1662}#
-                                                                (if (eq? #{m 
1574}#
+                                                                          
#{when-list 1652}#)))
+                                                              (if #{t 1676}#
+                                                                #{t 1676}#
+                                                                (if (eq? #{m 
1588}#
                                                                          'c&e)
                                                                   (memq 'eval
-                                                                        
#{when-list 1638}#)
+                                                                        
#{when-list 1652}#)
                                                                   #f)))))))
                                                   (begin
                                                     (#{top-level-eval-hook 
250}#
-                                                      (#{chi-top-sequence 411}#
-                                                        #{body 1639}#
-                                                        #{r 1571}#
-                                                        #{w 1598}#
-                                                        #{s 1599}#
+                                                      (#{chi-top-sequence 424}#
+                                                        #{body 1653}#
+                                                        #{r 1585}#
+                                                        #{w 1612}#
+                                                        #{s 1613}#
                                                         'e
                                                         '(eval)
-                                                        #{mod 1600}#)
-                                                      #{mod 1600}#)
-                                                    (values #{exps 1577}#))
-                                                  (values #{exps 1577}#)))))))
-                                      #{tmp 1629}#)
+                                                        #{mod 1614}#)
+                                                      #{mod 1614}#)
+                                                    (values #{exps 1591}#))
+                                                  (values #{exps 1591}#)))))))
+                                      #{tmp 1643}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp 1628}#))))
-                              (if (eqv? #{type 1595}# 'define-syntax-form)
+                                      #{tmp 1642}#))))
+                              (if (eqv? #{type 1609}# 'define-syntax-form)
                                 (begin
-                                  (let ((#{n 1670}#
-                                          (#{id-var-name 393}#
-                                            #{value 1596}#
-                                            #{w 1598}#))
-                                        (#{r 1671}#
-                                          (#{macros-only-env 331}#
-                                            #{r 1571}#)))
-                                    (if (eqv? #{m 1574}# 'c)
-                                      (if (memq 'compile #{esew 1575}#)
+                                  (let ((#{n 1684}#
+                                          (#{id-var-name 406}#
+                                            #{value 1610}#
+                                            #{w 1612}#))
+                                        (#{r 1685}#
+                                          (#{macros-only-env 336}#
+                                            #{r 1585}#)))
+                                    (if (eqv? #{m 1588}# 'c)
+                                      (if (memq 'compile #{esew 1589}#)
                                         (begin
-                                          (let ((#{e 1674}#
-                                                  (#{chi-install-global 413}#
-                                                    #{n 1670}#
-                                                    (#{chi 419}#
-                                                      #{e 1597}#
-                                                      #{r 1671}#
-                                                      #{w 1598}#
-                                                      #{mod 1600}#))))
+                                          (let ((#{e 1688}#
+                                                  (#{chi-install-global 426}#
+                                                    #{n 1684}#
+                                                    (#{chi 432}#
+                                                      #{e 1611}#
+                                                      #{r 1685}#
+                                                      #{w 1612}#
+                                                      #{mod 1614}#))))
                                             (begin
                                               (#{top-level-eval-hook 250}#
-                                                #{e 1674}#
-                                                #{mod 1600}#)
-                                              (if (memq 'load #{esew 1575}#)
+                                                #{e 1688}#
+                                                #{mod 1614}#)
+                                              (if (memq 'load #{esew 1589}#)
                                                 (values
-                                                  (cons #{e 1674}#
-                                                        #{exps 1577}#))
-                                                (values #{exps 1577}#)))))
-                                        (if (memq 'load #{esew 1575}#)
+                                                  (cons #{e 1688}#
+                                                        #{exps 1591}#))
+                                                (values #{exps 1591}#)))))
+                                        (if (memq 'load #{esew 1589}#)
                                           (values
-                                            (cons (#{chi-install-global 413}#
-                                                    #{n 1670}#
-                                                    (#{chi 419}#
-                                                      #{e 1597}#
-                                                      #{r 1671}#
-                                                      #{w 1598}#
-                                                      #{mod 1600}#))
-                                                  #{exps 1577}#))
-                                          (values #{exps 1577}#)))
-                                      (if (eqv? #{m 1574}# 'c&e)
+                                            (cons (#{chi-install-global 426}#
+                                                    #{n 1684}#
+                                                    (#{chi 432}#
+                                                      #{e 1611}#
+                                                      #{r 1685}#
+                                                      #{w 1612}#
+                                                      #{mod 1614}#))
+                                                  #{exps 1591}#))
+                                          (values #{exps 1591}#)))
+                                      (if (eqv? #{m 1588}# 'c&e)
                                         (begin
-                                          (let ((#{e 1677}#
-                                                  (#{chi-install-global 413}#
-                                                    #{n 1670}#
-                                                    (#{chi 419}#
-                                                      #{e 1597}#
-                                                      #{r 1671}#
-                                                      #{w 1598}#
-                                                      #{mod 1600}#))))
+                                          (let ((#{e 1691}#
+                                                  (#{chi-install-global 426}#
+                                                    #{n 1684}#
+                                                    (#{chi 432}#
+                                                      #{e 1611}#
+                                                      #{r 1685}#
+                                                      #{w 1612}#
+                                                      #{mod 1614}#))))
                                             (begin
                                               (#{top-level-eval-hook 250}#
-                                                #{e 1677}#
-                                                #{mod 1600}#)
+                                                #{e 1691}#
+                                                #{mod 1614}#)
                                               (values
-                                                (cons #{e 1677}#
-                                                      #{exps 1577}#)))))
+                                                (cons #{e 1691}#
+                                                      #{exps 1591}#)))))
                                         (begin
-                                          (if (memq 'eval #{esew 1575}#)
+                                          (if (memq 'eval #{esew 1589}#)
                                             (#{top-level-eval-hook 250}#
-                                              (#{chi-install-global 413}#
-                                                #{n 1670}#
-                                                (#{chi 419}#
-                                                  #{e 1597}#
-                                                  #{r 1671}#
-                                                  #{w 1598}#
-                                                  #{mod 1600}#))
-                                              #{mod 1600}#))
-                                          (values #{exps 1577}#))))))
-                                (if (eqv? #{type 1595}# 'define-form)
+                                              (#{chi-install-global 426}#
+                                                #{n 1684}#
+                                                (#{chi 432}#
+                                                  #{e 1611}#
+                                                  #{r 1685}#
+                                                  #{w 1612}#
+                                                  #{mod 1614}#))
+                                              #{mod 1614}#))
+                                          (values #{exps 1591}#))))))
+                                (if (eqv? #{type 1609}# 'define-form)
                                   (begin
-                                    (let ((#{n 1682}#
-                                            (#{id-var-name 393}#
-                                              #{value 1596}#
-                                              #{w 1598}#)))
+                                    (let ((#{n 1696}#
+                                            (#{id-var-name 406}#
+                                              #{value 1610}#
+                                              #{w 1612}#)))
                                       (begin
-                                        (let ((#{type 1684}#
-                                                (car (#{lookup 333}#
-                                                       #{n 1682}#
-                                                       #{r 1571}#
-                                                       #{mod 1600}#))))
-                                          (if (if (eqv? #{type 1684}# 'global)
+                                        (let ((#{type 1698}#
+                                                (car (#{lookup 338}#
+                                                       #{n 1696}#
+                                                       #{r 1585}#
+                                                       #{mod 1614}#))))
+                                          (if (if (eqv? #{type 1698}# 'global)
                                                 #t
-                                                (if (eqv? #{type 1684}# 'core)
+                                                (if (eqv? #{type 1698}# 'core)
                                                   #t
-                                                  (if (eqv? #{type 1684}#
+                                                  (if (eqv? #{type 1698}#
                                                             'macro)
                                                     #t
-                                                    (eqv? #{type 1684}#
+                                                    (eqv? #{type 1698}#
                                                           'module-ref))))
                                             (begin
-                                              (if (if (if (eq? #{m 1574}# 'c)
+                                              (if (if (if (eq? #{m 1588}# 'c)
                                                         #t
-                                                        (eq? #{m 1574}# 'c&e))
+                                                        (eq? #{m 1588}# 'c&e))
                                                     (if (not 
(module-local-variable
                                                                (current-module)
-                                                               #{n 1682}#))
+                                                               #{n 1696}#))
                                                       (current-module)
                                                       #f)
                                                     #f)
                                                 (begin
-                                                  (let ((#{old 1691}#
+                                                  (let ((#{old 1705}#
                                                           (module-variable
                                                             (current-module)
-                                                            #{n 1682}#)))
+                                                            #{n 1696}#)))
                                                     (if (if (variable?
-                                                              #{old 1691}#)
+                                                              #{old 1705}#)
                                                           (variable-bound?
-                                                            #{old 1691}#)
+                                                            #{old 1705}#)
                                                           #f)
                                                       (module-define!
                                                         (current-module)
-                                                        #{n 1682}#
+                                                        #{n 1696}#
                                                         (variable-ref
-                                                          #{old 1691}#))
+                                                          #{old 1705}#))
                                                       (module-add!
                                                         (current-module)
-                                                        #{n 1682}#
+                                                        #{n 1696}#
                                                         
(make-undefined-variable))))))
                                               (values
-                                                (cons (if (eq? #{m 1574}# 'c&e)
+                                                (cons (if (eq? #{m 1588}# 'c&e)
                                                         (begin
-                                                          (let ((#{x 1695}#
-                                                                  
(#{build-global-definition 281}#
-                                                                    #{s 1599}#
-                                                                    #{n 1682}#
-                                                                    (#{chi 
419}#
-                                                                      #{e 
1597}#
-                                                                      #{r 
1571}#
-                                                                      #{w 
1598}#
-                                                                      #{mod 
1600}#))))
+                                                          (let ((#{x 1709}#
+                                                                  
(#{build-global-definition 282}#
+                                                                    #{s 1613}#
+                                                                    #{n 1696}#
+                                                                    (#{chi 
432}#
+                                                                      #{e 
1611}#
+                                                                      #{r 
1585}#
+                                                                      #{w 
1612}#
+                                                                      #{mod 
1614}#))))
                                                             (begin
                                                               
(#{top-level-eval-hook 250}#
-                                                                #{x 1695}#
-                                                                #{mod 1600}#)
-                                                              #{x 1695}#)))
+                                                                #{x 1709}#
+                                                                #{mod 1614}#)
+                                                              #{x 1709}#)))
                                                         (lambda ()
-                                                          
(#{build-global-definition 281}#
-                                                            #{s 1599}#
-                                                            #{n 1682}#
-                                                            (#{chi 419}#
-                                                              #{e 1597}#
-                                                              #{r 1571}#
-                                                              #{w 1598}#
-                                                              #{mod 1600}#))))
-                                                      #{exps 1577}#)))
-                                            (if (eqv? #{type 1684}#
+                                                          
(#{build-global-definition 282}#
+                                                            #{s 1613}#
+                                                            #{n 1696}#
+                                                            (#{chi 432}#
+                                                              #{e 1611}#
+                                                              #{r 1585}#
+                                                              #{w 1612}#
+                                                              #{mod 1614}#))))
+                                                      #{exps 1591}#)))
+                                            (if (eqv? #{type 1698}#
                                                       'displaced-lexical)
                                               (syntax-violation
                                                 #f
                                                 "identifier out of context"
-                                                #{e 1597}#
-                                                (#{wrap 405}#
-                                                  #{value 1596}#
-                                                  #{w 1598}#
-                                                  #{mod 1600}#))
+                                                #{e 1611}#
+                                                (#{wrap 418}#
+                                                  #{value 1610}#
+                                                  #{w 1612}#
+                                                  #{mod 1614}#))
                                               (syntax-violation
                                                 #f
                                                 "cannot define keyword at top 
level"
-                                                #{e 1597}#
-                                                (#{wrap 405}#
-                                                  #{value 1596}#
-                                                  #{w 1598}#
-                                                  #{mod 1600}#))))))))
+                                                #{e 1611}#
+                                                (#{wrap 418}#
+                                                  #{value 1610}#
+                                                  #{w 1612}#
+                                                  #{mod 1614}#))))))))
                                   (values
-                                    (cons (if (eq? #{m 1574}# 'c&e)
+                                    (cons (if (eq? #{m 1588}# 'c&e)
                                             (begin
-                                              (let ((#{x 1700}#
-                                                      (#{chi-expr 421}#
-                                                        #{type 1595}#
-                                                        #{value 1596}#
-                                                        #{e 1597}#
-                                                        #{r 1571}#
-                                                        #{w 1598}#
-                                                        #{s 1599}#
-                                                        #{mod 1600}#)))
+                                              (let ((#{x 1714}#
+                                                      (#{chi-expr 434}#
+                                                        #{type 1609}#
+                                                        #{value 1610}#
+                                                        #{e 1611}#
+                                                        #{r 1585}#
+                                                        #{w 1612}#
+                                                        #{s 1613}#
+                                                        #{mod 1614}#)))
                                                 (begin
                                                   (#{top-level-eval-hook 250}#
-                                                    #{x 1700}#
-                                                    #{mod 1600}#)
-                                                  #{x 1700}#)))
+                                                    #{x 1714}#
+                                                    #{mod 1614}#)
+                                                  #{x 1714}#)))
                                             (lambda ()
-                                              (#{chi-expr 421}#
-                                                #{type 1595}#
-                                                #{value 1596}#
-                                                #{e 1597}#
-                                                #{r 1571}#
-                                                #{w 1598}#
-                                                #{s 1599}#
-                                                #{mod 1600}#)))
-                                          #{exps 1577}#))))))))))
-                  (lambda (#{exps 1701}#)
-                    (#{scan 1569}#
-                      (cdr #{body 1570}#)
-                      #{r 1571}#
-                      #{w 1572}#
-                      #{s 1573}#
-                      #{m 1574}#
-                      #{esew 1575}#
-                      #{mod 1576}#
-                      #{exps 1701}#)))))))
+                                              (#{chi-expr 434}#
+                                                #{type 1609}#
+                                                #{value 1610}#
+                                                #{e 1611}#
+                                                #{r 1585}#
+                                                #{w 1612}#
+                                                #{s 1613}#
+                                                #{mod 1614}#)))
+                                          #{exps 1591}#))))))))))
+                  (lambda (#{exps 1715}#)
+                    (#{scan 1583}#
+                      (cdr #{body 1584}#)
+                      #{r 1585}#
+                      #{w 1586}#
+                      #{s 1587}#
+                      #{m 1588}#
+                      #{esew 1589}#
+                      #{mod 1590}#
+                      #{exps 1715}#)))))))
          (begin
            (call-with-values
              (lambda ()
-               (#{scan 1569}#
-                 #{body 1554}#
-                 #{r 1555}#
-                 #{w 1556}#
-                 #{s 1557}#
-                 #{m 1558}#
-                 #{esew 1559}#
-                 #{mod 1560}#
+               (#{scan 1583}#
+                 #{body 1568}#
+                 #{r 1569}#
+                 #{w 1570}#
+                 #{s 1571}#
+                 #{m 1572}#
+                 #{esew 1573}#
+                 #{mod 1574}#
                  '()))
-             (lambda (#{exps 1703}#)
-               (if (null? #{exps 1703}#)
-                 (#{build-void 263}# #{s 1557}#)
-                 (#{build-sequence 293}#
-                   #{s 1557}#
+             (lambda (#{exps 1717}#)
+               (if (null? #{exps 1717}#)
+                 (#{build-void 264}# #{s 1571}#)
+                 (#{build-sequence 294}#
+                   #{s 1571}#
                    (letrec*
-                     ((#{lp 1708}#
-                        (lambda (#{in 1709}# #{out 1710}#)
-                          (if (null? #{in 1709}#)
-                            #{out 1710}#
+                     ((#{lp 1722}#
+                        (lambda (#{in 1723}# #{out 1724}#)
+                          (if (null? #{in 1723}#)
+                            #{out 1724}#
                             (begin
-                              (let ((#{e 1712}# (car #{in 1709}#)))
-                                (#{lp 1708}#
-                                  (cdr #{in 1709}#)
-                                  (cons (if (procedure? #{e 1712}#)
-                                          (#{e 1712}#)
-                                          #{e 1712}#)
-                                        #{out 1710}#))))))))
-                     (begin (#{lp 1708}# #{exps 1703}# '())))))))))))
-   (#{chi-install-global 413}#
-     (lambda (#{name 1713}# #{e 1714}#)
-       (#{build-global-definition 281}#
+                              (let ((#{e 1726}# (car #{in 1723}#)))
+                                (#{lp 1722}#
+                                  (cdr #{in 1723}#)
+                                  (cons (if (procedure? #{e 1726}#)
+                                          (#{e 1726}#)
+                                          #{e 1726}#)
+                                        #{out 1724}#))))))))
+                     (begin (#{lp 1722}# #{exps 1717}# '())))))))))))
+   (#{chi-install-global 426}#
+     (lambda (#{name 1727}# #{e 1728}#)
+       (#{build-global-definition 282}#
          #f
-         #{name 1713}#
-         (#{build-application 265}#
+         #{name 1727}#
+         (#{build-application 266}#
            #f
-           (#{build-primref 289}#
+           (#{build-primref 290}#
              #f
              'make-syntax-transformer)
-           (list (#{build-data 291}# #f #{name 1713}#)
-                 (#{build-data 291}# #f 'macro)
-                 #{e 1714}#)))))
-   (#{chi-when-list 415}#
-     (lambda (#{e 1722}# #{when-list 1723}# #{w 1724}#)
+           (list (#{build-data 292}# #f #{name 1727}#)
+                 (#{build-data 292}# #f 'macro)
+                 #{e 1728}#)))))
+   (#{chi-when-list 428}#
+     (lambda (#{e 1736}# #{when-list 1737}# #{w 1738}#)
        (letrec*
-         ((#{f 1731}#
-            (lambda (#{when-list 1732}# #{situations 1733}#)
-              (if (null? #{when-list 1732}#)
-                #{situations 1733}#
-                (#{f 1731}#
-                  (cdr #{when-list 1732}#)
+         ((#{f 1745}#
+            (lambda (#{when-list 1746}# #{situations 1747}#)
+              (if (null? #{when-list 1746}#)
+                #{situations 1747}#
+                (#{f 1745}#
+                  (cdr #{when-list 1746}#)
                   (cons (begin
-                          (let ((#{x 1735}# (car #{when-list 1732}#)))
-                            (if (#{free-id=? 395}#
-                                  #{x 1735}#
+                          (let ((#{x 1749}# (car #{when-list 1746}#)))
+                            (if (#{free-id=? 408}#
+                                  #{x 1749}#
                                   '#(syntax-object
                                      compile
                                      ((top)
                                       #(ribcage () () ())
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i1734"))
+                                      #(ribcage #(x) #((top)) #("i1748"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(f when-list situations)
                                         #((top) (top) (top))
-                                        #("i1728" "i1729" "i1730"))
+                                        #("i1742" "i1743" "i1744"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(e when-list w)
                                         #((top) (top) (top))
-                                        #("i1725" "i1726" "i1727"))
+                                        #("i1739" "i1740" "i1741"))
                                       #(ribcage
                                         (lambda-var-list
                                           gen-var
@@ -1796,81 +1796,82 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i448"
-                                         "i446"
-                                         "i444"
-                                         "i442"
-                                         "i440"
-                                         "i438"
-                                         "i436"
-                                         "i434"
-                                         "i432"
-                                         "i430"
-                                         "i428"
-                                         "i426"
-                                         "i424"
-                                         "i422"
-                                         "i420"
-                                         "i418"
-                                         "i416"
-                                         "i414"
-                                         "i412"
-                                         "i410"
-                                         "i408"
-                                         "i406"
-                                         "i404"
-                                         "i402"
-                                         "i400"
-                                         "i398"
-                                         "i396"
-                                         "i394"
+                                        ("i461"
+                                         "i459"
+                                         "i457"
+                                         "i455"
+                                         "i453"
+                                         "i451"
+                                         "i449"
+                                         "i447"
+                                         "i445"
+                                         "i443"
+                                         "i441"
+                                         "i439"
+                                         "i437"
+                                         "i435"
+                                         "i433"
+                                         "i431"
+                                         "i429"
+                                         "i427"
+                                         "i425"
+                                         "i423"
+                                         "i421"
+                                         "i419"
+                                         "i417"
+                                         "i415"
+                                         "i413"
+                                         "i411"
+                                         "i409"
+                                         "i407"
+                                         "i405"
+                                         "i403"
+                                         "i401"
+                                         "i399"
+                                         "i397"
+                                         "i395"
+                                         "i393"
                                          "i392"
                                          "i390"
-                                         "i388"
+                                         "i387"
                                          "i386"
-                                         "i384"
+                                         "i385"
+                                         "i383"
                                          "i382"
                                          "i380"
-                                         "i379"
                                          "i378"
                                          "i376"
-                                         "i375"
                                          "i374"
-                                         "i373"
                                          "i372"
                                          "i370"
                                          "i368"
                                          "i366"
-                                         "i364"
-                                         "i362"
+                                         "i363"
+                                         "i361"
                                          "i360"
                                          "i358"
                                          "i356"
-                                         "i353"
+                                         "i354"
+                                         "i352"
                                          "i351"
                                          "i350"
                                          "i349"
-                                         "i348"
                                          "i347"
                                          "i346"
-                                         "i345"
-                                         "i344"
                                          "i343"
                                          "i341"
-                                         "i340"
-                                         "i338"
-                                         "i336"
-                                         "i334"
-                                         "i332"
+                                         "i339"
+                                         "i337"
+                                         "i335"
+                                         "i333"
+                                         "i331"
                                          "i330"
-                                         "i328"
-                                         "i326"
+                                         "i329"
+                                         "i327"
                                          "i325"
                                          "i324"
-                                         "i323"
-                                         "i322"
                                          "i321"
-                                         "i319"
+                                         "i320"
                                          "i318"
                                          "i316"
                                          "i314"
@@ -1880,31 +1881,30 @@
                                          "i306"
                                          "i304"
                                          "i302"
-                                         "i300"
-                                         "i298"
-                                         "i296"
-                                         "i294"
-                                         "i292"
-                                         "i290"
-                                         "i288"
-                                         "i286"
-                                         "i284"
-                                         "i282"
-                                         "i280"
-                                         "i278"
-                                         "i276"
-                                         "i274"
-                                         "i272"
-                                         "i270"
-                                         "i268"
-                                         "i266"
-                                         "i264"
-                                         "i262"
-                                         "i260"
-                                         "i258"
-                                         "i256"
+                                         "i299"
+                                         "i297"
+                                         "i295"
+                                         "i293"
+                                         "i291"
+                                         "i289"
+                                         "i287"
+                                         "i285"
+                                         "i283"
+                                         "i281"
+                                         "i279"
+                                         "i277"
+                                         "i275"
+                                         "i273"
+                                         "i271"
+                                         "i269"
+                                         "i267"
+                                         "i265"
+                                         "i263"
+                                         "i261"
+                                         "i259"
+                                         "i257"
+                                         "i255"
                                          "i254"
-                                         "i253"
                                          "i251"
                                          "i249"
                                          "i248"
@@ -1940,25 +1940,25 @@
                                         ("i40" "i39" "i38")))
                                      (hygiene guile)))
                               'compile
-                              (if (#{free-id=? 395}#
-                                    #{x 1735}#
+                              (if (#{free-id=? 408}#
+                                    #{x 1749}#
                                     '#(syntax-object
                                        load
                                        ((top)
                                         #(ribcage () () ())
                                         #(ribcage () () ())
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i1734"))
+                                        #(ribcage #(x) #((top)) #("i1748"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(f when-list situations)
                                           #((top) (top) (top))
-                                          #("i1728" "i1729" "i1730"))
+                                          #("i1742" "i1743" "i1744"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e when-list w)
                                           #((top) (top) (top))
-                                          #("i1725" "i1726" "i1727"))
+                                          #("i1739" "i1740" "i1741"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
@@ -2232,81 +2232,82 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i448"
-                                           "i446"
-                                           "i444"
-                                           "i442"
-                                           "i440"
-                                           "i438"
-                                           "i436"
-                                           "i434"
-                                           "i432"
-                                           "i430"
-                                           "i428"
-                                           "i426"
-                                           "i424"
-                                           "i422"
-                                           "i420"
-                                           "i418"
-                                           "i416"
-                                           "i414"
-                                           "i412"
-                                           "i410"
-                                           "i408"
-                                           "i406"
-                                           "i404"
-                                           "i402"
-                                           "i400"
-                                           "i398"
-                                           "i396"
-                                           "i394"
+                                          ("i461"
+                                           "i459"
+                                           "i457"
+                                           "i455"
+                                           "i453"
+                                           "i451"
+                                           "i449"
+                                           "i447"
+                                           "i445"
+                                           "i443"
+                                           "i441"
+                                           "i439"
+                                           "i437"
+                                           "i435"
+                                           "i433"
+                                           "i431"
+                                           "i429"
+                                           "i427"
+                                           "i425"
+                                           "i423"
+                                           "i421"
+                                           "i419"
+                                           "i417"
+                                           "i415"
+                                           "i413"
+                                           "i411"
+                                           "i409"
+                                           "i407"
+                                           "i405"
+                                           "i403"
+                                           "i401"
+                                           "i399"
+                                           "i397"
+                                           "i395"
+                                           "i393"
                                            "i392"
                                            "i390"
-                                           "i388"
+                                           "i387"
                                            "i386"
-                                           "i384"
+                                           "i385"
+                                           "i383"
                                            "i382"
                                            "i380"
-                                           "i379"
                                            "i378"
                                            "i376"
-                                           "i375"
                                            "i374"
-                                           "i373"
                                            "i372"
                                            "i370"
                                            "i368"
                                            "i366"
-                                           "i364"
-                                           "i362"
+                                           "i363"
+                                           "i361"
                                            "i360"
                                            "i358"
                                            "i356"
-                                           "i353"
+                                           "i354"
+                                           "i352"
                                            "i351"
                                            "i350"
                                            "i349"
-                                           "i348"
                                            "i347"
                                            "i346"
-                                           "i345"
-                                           "i344"
                                            "i343"
                                            "i341"
-                                           "i340"
-                                           "i338"
-                                           "i336"
-                                           "i334"
-                                           "i332"
+                                           "i339"
+                                           "i337"
+                                           "i335"
+                                           "i333"
+                                           "i331"
                                            "i330"
-                                           "i328"
-                                           "i326"
+                                           "i329"
+                                           "i327"
                                            "i325"
                                            "i324"
-                                           "i323"
-                                           "i322"
                                            "i321"
-                                           "i319"
+                                           "i320"
                                            "i318"
                                            "i316"
                                            "i314"
@@ -2316,31 +2317,30 @@
                                            "i306"
                                            "i304"
                                            "i302"
-                                           "i300"
-                                           "i298"
-                                           "i296"
-                                           "i294"
-                                           "i292"
-                                           "i290"
-                                           "i288"
-                                           "i286"
-                                           "i284"
-                                           "i282"
-                                           "i280"
-                                           "i278"
-                                           "i276"
-                                           "i274"
-                                           "i272"
-                                           "i270"
-                                           "i268"
-                                           "i266"
-                                           "i264"
-                                           "i262"
-                                           "i260"
-                                           "i258"
-                                           "i256"
+                                           "i299"
+                                           "i297"
+                                           "i295"
+                                           "i293"
+                                           "i291"
+                                           "i289"
+                                           "i287"
+                                           "i285"
+                                           "i283"
+                                           "i281"
+                                           "i279"
+                                           "i277"
+                                           "i275"
+                                           "i273"
+                                           "i271"
+                                           "i269"
+                                           "i267"
+                                           "i265"
+                                           "i263"
+                                           "i261"
+                                           "i259"
+                                           "i257"
+                                           "i255"
                                            "i254"
-                                           "i253"
                                            "i251"
                                            "i249"
                                            "i248"
@@ -2376,25 +2376,25 @@
                                           ("i40" "i39" "i38")))
                                        (hygiene guile)))
                                 'load
-                                (if (#{free-id=? 395}#
-                                      #{x 1735}#
+                                (if (#{free-id=? 408}#
+                                      #{x 1749}#
                                       '#(syntax-object
                                          eval
                                          ((top)
                                           #(ribcage () () ())
                                           #(ribcage () () ())
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i1734"))
+                                          #(ribcage #(x) #((top)) #("i1748"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(f when-list situations)
                                             #((top) (top) (top))
-                                            #("i1728" "i1729" "i1730"))
+                                            #("i1742" "i1743" "i1744"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(e when-list w)
                                             #((top) (top) (top))
-                                            #("i1725" "i1726" "i1727"))
+                                            #("i1739" "i1740" "i1741"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
@@ -2668,81 +2668,82 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i448"
-                                             "i446"
-                                             "i444"
-                                             "i442"
-                                             "i440"
-                                             "i438"
-                                             "i436"
-                                             "i434"
-                                             "i432"
-                                             "i430"
-                                             "i428"
-                                             "i426"
-                                             "i424"
-                                             "i422"
-                                             "i420"
-                                             "i418"
-                                             "i416"
-                                             "i414"
-                                             "i412"
-                                             "i410"
-                                             "i408"
-                                             "i406"
-                                             "i404"
-                                             "i402"
-                                             "i400"
-                                             "i398"
-                                             "i396"
-                                             "i394"
+                                            ("i461"
+                                             "i459"
+                                             "i457"
+                                             "i455"
+                                             "i453"
+                                             "i451"
+                                             "i449"
+                                             "i447"
+                                             "i445"
+                                             "i443"
+                                             "i441"
+                                             "i439"
+                                             "i437"
+                                             "i435"
+                                             "i433"
+                                             "i431"
+                                             "i429"
+                                             "i427"
+                                             "i425"
+                                             "i423"
+                                             "i421"
+                                             "i419"
+                                             "i417"
+                                             "i415"
+                                             "i413"
+                                             "i411"
+                                             "i409"
+                                             "i407"
+                                             "i405"
+                                             "i403"
+                                             "i401"
+                                             "i399"
+                                             "i397"
+                                             "i395"
+                                             "i393"
                                              "i392"
                                              "i390"
-                                             "i388"
+                                             "i387"
                                              "i386"
-                                             "i384"
+                                             "i385"
+                                             "i383"
                                              "i382"
                                              "i380"
-                                             "i379"
                                              "i378"
                                              "i376"
-                                             "i375"
                                              "i374"
-                                             "i373"
                                              "i372"
                                              "i370"
                                              "i368"
                                              "i366"
-                                             "i364"
-                                             "i362"
+                                             "i363"
+                                             "i361"
                                              "i360"
                                              "i358"
                                              "i356"
-                                             "i353"
+                                             "i354"
+                                             "i352"
                                              "i351"
                                              "i350"
                                              "i349"
-                                             "i348"
                                              "i347"
                                              "i346"
-                                             "i345"
-                                             "i344"
                                              "i343"
                                              "i341"
-                                             "i340"
-                                             "i338"
-                                             "i336"
-                                             "i334"
-                                             "i332"
+                                             "i339"
+                                             "i337"
+                                             "i335"
+                                             "i333"
+                                             "i331"
                                              "i330"
-                                             "i328"
-                                             "i326"
+                                             "i329"
+                                             "i327"
                                              "i325"
                                              "i324"
-                                             "i323"
-                                             "i322"
                                              "i321"
-                                             "i319"
+                                             "i320"
                                              "i318"
                                              "i316"
                                              "i314"
@@ -2752,31 +2753,30 @@
                                              "i306"
                                              "i304"
                                              "i302"
-                                             "i300"
-                                             "i298"
-                                             "i296"
-                                             "i294"
-                                             "i292"
-                                             "i290"
-                                             "i288"
-                                             "i286"
-                                             "i284"
-                                             "i282"
-                                             "i280"
-                                             "i278"
-                                             "i276"
-                                             "i274"
-                                             "i272"
-                                             "i270"
-                                             "i268"
-                                             "i266"
-                                             "i264"
-                                             "i262"
-                                             "i260"
-                                             "i258"
-                                             "i256"
+                                             "i299"
+                                             "i297"
+                                             "i295"
+                                             "i293"
+                                             "i291"
+                                             "i289"
+                                             "i287"
+                                             "i285"
+                                             "i283"
+                                             "i281"
+                                             "i279"
+                                             "i277"
+                                             "i275"
+                                             "i273"
+                                             "i271"
+                                             "i269"
+                                             "i267"
+                                             "i265"
+                                             "i263"
+                                             "i261"
+                                             "i259"
+                                             "i257"
+                                             "i255"
                                              "i254"
-                                             "i253"
                                              "i251"
                                              "i249"
                                              "i248"
@@ -2812,25 +2812,25 @@
                                             ("i40" "i39" "i38")))
                                          (hygiene guile)))
                                   'eval
-                                  (if (#{free-id=? 395}#
-                                        #{x 1735}#
+                                  (if (#{free-id=? 408}#
+                                        #{x 1749}#
                                         '#(syntax-object
                                            expand
                                            ((top)
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage () () ())
-                                            #(ribcage #(x) #((top)) #("i1734"))
+                                            #(ribcage #(x) #((top)) #("i1748"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(f when-list situations)
                                               #((top) (top) (top))
-                                              #("i1728" "i1729" "i1730"))
+                                              #("i1742" "i1743" "i1744"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(e when-list w)
                                               #((top) (top) (top))
-                                              #("i1725" "i1726" "i1727"))
+                                              #("i1739" "i1740" "i1741"))
                                             #(ribcage
                                               (lambda-var-list
                                                 gen-var
@@ -3104,81 +3104,82 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i448"
-                                               "i446"
-                                               "i444"
-                                               "i442"
-                                               "i440"
-                                               "i438"
-                                               "i436"
-                                               "i434"
-                                               "i432"
-                                               "i430"
-                                               "i428"
-                                               "i426"
-                                               "i424"
-                                               "i422"
-                                               "i420"
-                                               "i418"
-                                               "i416"
-                                               "i414"
-                                               "i412"
-                                               "i410"
-                                               "i408"
-                                               "i406"
-                                               "i404"
-                                               "i402"
-                                               "i400"
-                                               "i398"
-                                               "i396"
-                                               "i394"
+                                              ("i461"
+                                               "i459"
+                                               "i457"
+                                               "i455"
+                                               "i453"
+                                               "i451"
+                                               "i449"
+                                               "i447"
+                                               "i445"
+                                               "i443"
+                                               "i441"
+                                               "i439"
+                                               "i437"
+                                               "i435"
+                                               "i433"
+                                               "i431"
+                                               "i429"
+                                               "i427"
+                                               "i425"
+                                               "i423"
+                                               "i421"
+                                               "i419"
+                                               "i417"
+                                               "i415"
+                                               "i413"
+                                               "i411"
+                                               "i409"
+                                               "i407"
+                                               "i405"
+                                               "i403"
+                                               "i401"
+                                               "i399"
+                                               "i397"
+                                               "i395"
+                                               "i393"
                                                "i392"
                                                "i390"
-                                               "i388"
+                                               "i387"
                                                "i386"
-                                               "i384"
+                                               "i385"
+                                               "i383"
                                                "i382"
                                                "i380"
-                                               "i379"
                                                "i378"
                                                "i376"
-                                               "i375"
                                                "i374"
-                                               "i373"
                                                "i372"
                                                "i370"
                                                "i368"
                                                "i366"
-                                               "i364"
-                                               "i362"
+                                               "i363"
+                                               "i361"
                                                "i360"
                                                "i358"
                                                "i356"
-                                               "i353"
+                                               "i354"
+                                               "i352"
                                                "i351"
                                                "i350"
                                                "i349"
-                                               "i348"
                                                "i347"
                                                "i346"
-                                               "i345"
-                                               "i344"
                                                "i343"
                                                "i341"
-                                               "i340"
-                                               "i338"
-                                               "i336"
-                                               "i334"
-                                               "i332"
+                                               "i339"
+                                               "i337"
+                                               "i335"
+                                               "i333"
+                                               "i331"
                                                "i330"
-                                               "i328"
-                                               "i326"
+                                               "i329"
+                                               "i327"
                                                "i325"
                                                "i324"
-                                               "i323"
-                                               "i322"
                                                "i321"
-                                               "i319"
+                                               "i320"
                                                "i318"
                                                "i316"
                                                "i314"
@@ -3188,31 +3189,30 @@
                                                "i306"
                                                "i304"
                                                "i302"
-                                               "i300"
-                                               "i298"
-                                               "i296"
-                                               "i294"
-                                               "i292"
-                                               "i290"
-                                               "i288"
-                                               "i286"
-                                               "i284"
-                                               "i282"
-                                               "i280"
-                                               "i278"
-                                               "i276"
-                                               "i274"
-                                               "i272"
-                                               "i270"
-                                               "i268"
-                                               "i266"
-                                               "i264"
-                                               "i262"
-                                               "i260"
-                                               "i258"
-                                               "i256"
+                                               "i299"
+                                               "i297"
+                                               "i295"
+                                               "i293"
+                                               "i291"
+                                               "i289"
+                                               "i287"
+                                               "i285"
+                                               "i283"
+                                               "i281"
+                                               "i279"
+                                               "i277"
+                                               "i275"
+                                               "i273"
+                                               "i271"
+                                               "i269"
+                                               "i267"
+                                               "i265"
+                                               "i263"
+                                               "i261"
+                                               "i259"
+                                               "i257"
+                                               "i255"
                                                "i254"
-                                               "i253"
                                                "i251"
                                                "i249"
                                                "i248"
@@ -3251,243 +3251,243 @@
                                     (syntax-violation
                                       'eval-when
                                       "invalid situation"
-                                      #{e 1722}#
-                                      (#{wrap 405}#
-                                        #{x 1735}#
-                                        #{w 1724}#
+                                      #{e 1736}#
+                                      (#{wrap 418}#
+                                        #{x 1749}#
+                                        #{w 1738}#
                                         #f))))))))
-                        #{situations 1733}#))))))
-         (begin (#{f 1731}# #{when-list 1723}# '())))))
-   (#{syntax-type 417}#
-     (lambda (#{e 1745}#
-              #{r 1746}#
-              #{w 1747}#
-              #{s 1748}#
-              #{rib 1749}#
-              #{mod 1750}#
-              #{for-car? 1751}#)
-       (if (symbol? #{e 1745}#)
+                        #{situations 1747}#))))))
+         (begin (#{f 1745}# #{when-list 1737}# '())))))
+   (#{syntax-type 430}#
+     (lambda (#{e 1759}#
+              #{r 1760}#
+              #{w 1761}#
+              #{s 1762}#
+              #{rib 1763}#
+              #{mod 1764}#
+              #{for-car? 1765}#)
+       (if (symbol? #{e 1759}#)
          (begin
-           (let ((#{n 1763}#
-                   (#{id-var-name 393}# #{e 1745}# #{w 1747}#)))
+           (let ((#{n 1777}#
+                   (#{id-var-name 406}# #{e 1759}# #{w 1761}#)))
              (begin
-               (let ((#{b 1765}#
-                       (#{lookup 333}#
-                         #{n 1763}#
-                         #{r 1746}#
-                         #{mod 1750}#)))
+               (let ((#{b 1779}#
+                       (#{lookup 338}#
+                         #{n 1777}#
+                         #{r 1760}#
+                         #{mod 1764}#)))
                  (begin
-                   (let ((#{type 1767}# (car #{b 1765}#)))
-                     (if (eqv? #{type 1767}# 'lexical)
+                   (let ((#{type 1781}# (car #{b 1779}#)))
+                     (if (eqv? #{type 1781}# 'lexical)
                        (values
-                         #{type 1767}#
-                         (cdr #{b 1765}#)
-                         #{e 1745}#
-                         #{w 1747}#
-                         #{s 1748}#
-                         #{mod 1750}#)
-                       (if (eqv? #{type 1767}# 'global)
+                         #{type 1781}#
+                         (cdr #{b 1779}#)
+                         #{e 1759}#
+                         #{w 1761}#
+                         #{s 1762}#
+                         #{mod 1764}#)
+                       (if (eqv? #{type 1781}# 'global)
                          (values
-                           #{type 1767}#
-                           #{n 1763}#
-                           #{e 1745}#
-                           #{w 1747}#
-                           #{s 1748}#
-                           #{mod 1750}#)
-                         (if (eqv? #{type 1767}# 'macro)
-                           (if #{for-car? 1751}#
+                           #{type 1781}#
+                           #{n 1777}#
+                           #{e 1759}#
+                           #{w 1761}#
+                           #{s 1762}#
+                           #{mod 1764}#)
+                         (if (eqv? #{type 1781}# 'macro)
+                           (if #{for-car? 1765}#
                              (values
-                               #{type 1767}#
-                               (cdr #{b 1765}#)
-                               #{e 1745}#
-                               #{w 1747}#
-                               #{s 1748}#
-                               #{mod 1750}#)
-                             (#{syntax-type 417}#
-                               (#{chi-macro 425}#
-                                 (cdr #{b 1765}#)
-                                 #{e 1745}#
-                                 #{r 1746}#
-                                 #{w 1747}#
-                                 #{s 1748}#
-                                 #{rib 1749}#
-                                 #{mod 1750}#)
-                               #{r 1746}#
+                               #{type 1781}#
+                               (cdr #{b 1779}#)
+                               #{e 1759}#
+                               #{w 1761}#
+                               #{s 1762}#
+                               #{mod 1764}#)
+                             (#{syntax-type 430}#
+                               (#{chi-macro 438}#
+                                 (cdr #{b 1779}#)
+                                 #{e 1759}#
+                                 #{r 1760}#
+                                 #{w 1761}#
+                                 #{s 1762}#
+                                 #{rib 1763}#
+                                 #{mod 1764}#)
+                               #{r 1760}#
                                '(())
-                               #{s 1748}#
-                               #{rib 1749}#
-                               #{mod 1750}#
+                               #{s 1762}#
+                               #{rib 1763}#
+                               #{mod 1764}#
                                #f))
                            (values
-                             #{type 1767}#
-                             (cdr #{b 1765}#)
-                             #{e 1745}#
-                             #{w 1747}#
-                             #{s 1748}#
-                             #{mod 1750}#))))))))))
-         (if (pair? #{e 1745}#)
+                             #{type 1781}#
+                             (cdr #{b 1779}#)
+                             #{e 1759}#
+                             #{w 1761}#
+                             #{s 1762}#
+                             #{mod 1764}#))))))))))
+         (if (pair? #{e 1759}#)
            (begin
-             (let ((#{first 1781}# (car #{e 1745}#)))
+             (let ((#{first 1795}# (car #{e 1759}#)))
                (call-with-values
                  (lambda ()
-                   (#{syntax-type 417}#
-                     #{first 1781}#
-                     #{r 1746}#
-                     #{w 1747}#
-                     #{s 1748}#
-                     #{rib 1749}#
-                     #{mod 1750}#
+                   (#{syntax-type 430}#
+                     #{first 1795}#
+                     #{r 1760}#
+                     #{w 1761}#
+                     #{s 1762}#
+                     #{rib 1763}#
+                     #{mod 1764}#
                      #t))
-                 (lambda (#{ftype 1782}#
-                          #{fval 1783}#
-                          #{fe 1784}#
-                          #{fw 1785}#
-                          #{fs 1786}#
-                          #{fmod 1787}#)
-                   (if (eqv? #{ftype 1782}# 'lexical)
+                 (lambda (#{ftype 1796}#
+                          #{fval 1797}#
+                          #{fe 1798}#
+                          #{fw 1799}#
+                          #{fs 1800}#
+                          #{fmod 1801}#)
+                   (if (eqv? #{ftype 1796}# 'lexical)
                      (values
                        'lexical-call
-                       #{fval 1783}#
-                       #{e 1745}#
-                       #{w 1747}#
-                       #{s 1748}#
-                       #{mod 1750}#)
-                     (if (eqv? #{ftype 1782}# 'global)
+                       #{fval 1797}#
+                       #{e 1759}#
+                       #{w 1761}#
+                       #{s 1762}#
+                       #{mod 1764}#)
+                     (if (eqv? #{ftype 1796}# 'global)
                        (values
                          'global-call
-                         (#{make-syntax-object 303}#
-                           #{fval 1783}#
-                           #{w 1747}#
-                           #{fmod 1787}#)
-                         #{e 1745}#
-                         #{w 1747}#
-                         #{s 1748}#
-                         #{mod 1750}#)
-                       (if (eqv? #{ftype 1782}# 'macro)
-                         (#{syntax-type 417}#
-                           (#{chi-macro 425}#
-                             #{fval 1783}#
-                             #{e 1745}#
-                             #{r 1746}#
-                             #{w 1747}#
-                             #{s 1748}#
-                             #{rib 1749}#
-                             #{mod 1750}#)
-                           #{r 1746}#
+                         (#{make-syntax-object 305}#
+                           #{fval 1797}#
+                           #{w 1761}#
+                           #{fmod 1801}#)
+                         #{e 1759}#
+                         #{w 1761}#
+                         #{s 1762}#
+                         #{mod 1764}#)
+                       (if (eqv? #{ftype 1796}# 'macro)
+                         (#{syntax-type 430}#
+                           (#{chi-macro 438}#
+                             #{fval 1797}#
+                             #{e 1759}#
+                             #{r 1760}#
+                             #{w 1761}#
+                             #{s 1762}#
+                             #{rib 1763}#
+                             #{mod 1764}#)
+                           #{r 1760}#
                            '(())
-                           #{s 1748}#
-                           #{rib 1749}#
-                           #{mod 1750}#
-                           #{for-car? 1751}#)
-                         (if (eqv? #{ftype 1782}# 'module-ref)
+                           #{s 1762}#
+                           #{rib 1763}#
+                           #{mod 1764}#
+                           #{for-car? 1765}#)
+                         (if (eqv? #{ftype 1796}# 'module-ref)
                            (call-with-values
                              (lambda ()
-                               (#{fval 1783}#
-                                 #{e 1745}#
-                                 #{r 1746}#
-                                 #{w 1747}#))
-                             (lambda (#{e 1799}#
-                                      #{r 1800}#
-                                      #{w 1801}#
-                                      #{s 1802}#
-                                      #{mod 1803}#)
-                               (#{syntax-type 417}#
-                                 #{e 1799}#
-                                 #{r 1800}#
-                                 #{w 1801}#
-                                 #{s 1802}#
-                                 #{rib 1749}#
-                                 #{mod 1803}#
-                                 #{for-car? 1751}#)))
-                           (if (eqv? #{ftype 1782}# 'core)
+                               (#{fval 1797}#
+                                 #{e 1759}#
+                                 #{r 1760}#
+                                 #{w 1761}#))
+                             (lambda (#{e 1813}#
+                                      #{r 1814}#
+                                      #{w 1815}#
+                                      #{s 1816}#
+                                      #{mod 1817}#)
+                               (#{syntax-type 430}#
+                                 #{e 1813}#
+                                 #{r 1814}#
+                                 #{w 1815}#
+                                 #{s 1816}#
+                                 #{rib 1763}#
+                                 #{mod 1817}#
+                                 #{for-car? 1765}#)))
+                           (if (eqv? #{ftype 1796}# 'core)
                              (values
                                'core-form
-                               #{fval 1783}#
-                               #{e 1745}#
-                               #{w 1747}#
-                               #{s 1748}#
-                               #{mod 1750}#)
-                             (if (eqv? #{ftype 1782}# 'local-syntax)
+                               #{fval 1797}#
+                               #{e 1759}#
+                               #{w 1761}#
+                               #{s 1762}#
+                               #{mod 1764}#)
+                             (if (eqv? #{ftype 1796}# 'local-syntax)
                                (values
                                  'local-syntax-form
-                                 #{fval 1783}#
-                                 #{e 1745}#
-                                 #{w 1747}#
-                                 #{s 1748}#
-                                 #{mod 1750}#)
-                               (if (eqv? #{ftype 1782}# 'begin)
+                                 #{fval 1797}#
+                                 #{e 1759}#
+                                 #{w 1761}#
+                                 #{s 1762}#
+                                 #{mod 1764}#)
+                               (if (eqv? #{ftype 1796}# 'begin)
                                  (values
                                    'begin-form
                                    #f
-                                   #{e 1745}#
-                                   #{w 1747}#
-                                   #{s 1748}#
-                                   #{mod 1750}#)
-                                 (if (eqv? #{ftype 1782}# 'eval-when)
+                                   #{e 1759}#
+                                   #{w 1761}#
+                                   #{s 1762}#
+                                   #{mod 1764}#)
+                                 (if (eqv? #{ftype 1796}# 'eval-when)
                                    (values
                                      'eval-when-form
                                      #f
-                                     #{e 1745}#
-                                     #{w 1747}#
-                                     #{s 1748}#
-                                     #{mod 1750}#)
-                                   (if (eqv? #{ftype 1782}# 'define)
-                                     (let ((#{tmp 1814}# #{e 1745}#))
-                                       (let ((#{tmp 1815}#
+                                     #{e 1759}#
+                                     #{w 1761}#
+                                     #{s 1762}#
+                                     #{mod 1764}#)
+                                   (if (eqv? #{ftype 1796}# 'define)
+                                     (let ((#{tmp 1828}# #{e 1759}#))
+                                       (let ((#{tmp 1829}#
                                                ($sc-dispatch
-                                                 #{tmp 1814}#
+                                                 #{tmp 1828}#
                                                  '(_ any any))))
-                                         (if (if #{tmp 1815}#
+                                         (if (if #{tmp 1829}#
                                                (@apply
-                                                 (lambda (#{name 1818}#
-                                                          #{val 1819}#)
-                                                   (#{id? 339}# #{name 1818}#))
-                                                 #{tmp 1815}#)
+                                                 (lambda (#{name 1832}#
+                                                          #{val 1833}#)
+                                                   (#{id? 344}# #{name 1832}#))
+                                                 #{tmp 1829}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{name 1822}#
-                                                      #{val 1823}#)
+                                             (lambda (#{name 1836}#
+                                                      #{val 1837}#)
                                                (values
                                                  'define-form
-                                                 #{name 1822}#
-                                                 #{val 1823}#
-                                                 #{w 1747}#
-                                                 #{s 1748}#
-                                                 #{mod 1750}#))
-                                             #{tmp 1815}#)
-                                           (let ((#{tmp 1824}#
+                                                 #{name 1836}#
+                                                 #{val 1837}#
+                                                 #{w 1761}#
+                                                 #{s 1762}#
+                                                 #{mod 1764}#))
+                                             #{tmp 1829}#)
+                                           (let ((#{tmp 1838}#
                                                    ($sc-dispatch
-                                                     #{tmp 1814}#
+                                                     #{tmp 1828}#
                                                      '(_ (any . any)
                                                          any
                                                          .
                                                          each-any))))
-                                             (if (if #{tmp 1824}#
+                                             (if (if #{tmp 1838}#
                                                    (@apply
-                                                     (lambda (#{name 1829}#
-                                                              #{args 1830}#
-                                                              #{e1 1831}#
-                                                              #{e2 1832}#)
-                                                       (if (#{id? 339}#
-                                                             #{name 1829}#)
-                                                         (#{valid-bound-ids? 
399}#
-                                                           (#{lambda-var-list 
449}#
-                                                             #{args 1830}#))
+                                                     (lambda (#{name 1843}#
+                                                              #{args 1844}#
+                                                              #{e1 1845}#
+                                                              #{e2 1846}#)
+                                                       (if (#{id? 344}#
+                                                             #{name 1843}#)
+                                                         (#{valid-bound-ids? 
412}#
+                                                           (#{lambda-var-list 
462}#
+                                                             #{args 1844}#))
                                                          #f))
-                                                     #{tmp 1824}#)
+                                                     #{tmp 1838}#)
                                                    #f)
                                                (@apply
-                                                 (lambda (#{name 1839}#
-                                                          #{args 1840}#
-                                                          #{e1 1841}#
-                                                          #{e2 1842}#)
+                                                 (lambda (#{name 1853}#
+                                                          #{args 1854}#
+                                                          #{e1 1855}#
+                                                          #{e2 1856}#)
                                                    (values
                                                      'define-form
-                                                     (#{wrap 405}#
-                                                       #{name 1839}#
-                                                       #{w 1747}#
-                                                       #{mod 1750}#)
-                                                     (#{decorate-source 259}#
+                                                     (#{wrap 418}#
+                                                       #{name 1853}#
+                                                       #{w 1761}#
+                                                       #{mod 1764}#)
+                                                     (#{decorate-source 260}#
                                                        (cons '#(syntax-object
                                                                 lambda
                                                                 ((top)
@@ -3500,10 +3500,10 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i1835"
-                                                                     "i1836"
-                                                                     "i1837"
-                                                                     "i1838"))
+                                                                   #("i1849"
+                                                                     "i1850"
+                                                                     "i1851"
+                                                                     "i1852"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -3525,12 +3525,12 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i1788"
-                                                                     "i1789"
-                                                                     "i1790"
-                                                                     "i1791"
-                                                                     "i1792"
-                                                                     "i1793"))
+                                                                   #("i1802"
+                                                                     "i1803"
+                                                                     "i1804"
+                                                                     "i1805"
+                                                                     "i1806"
+                                                                     "i1807"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -3538,7 +3538,7 @@
                                                                  #(ribcage
                                                                    #(first)
                                                                    #((top))
-                                                                   #("i1780"))
+                                                                   #("i1794"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -3566,13 +3566,13 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i1752"
-                                                                     "i1753"
-                                                                     "i1754"
-                                                                     "i1755"
-                                                                     "i1756"
-                                                                     "i1757"
-                                                                     "i1758"))
+                                                                   #("i1766"
+                                                                     "i1767"
+                                                                     "i1768"
+                                                                     "i1769"
+                                                                     "i1770"
+                                                                     "i1771"
+                                                                     "i1772"))
                                                                  #(ribcage
                                                                    
(lambda-var-list
                                                                      gen-var
@@ -3846,81 +3846,82 @@
                                                                     (top)
                                                                     (top)
                                                                     (top))
-                                                                   ("i448"
-                                                                    "i446"
-                                                                    "i444"
-                                                                    "i442"
-                                                                    "i440"
-                                                                    "i438"
-                                                                    "i436"
-                                                                    "i434"
-                                                                    "i432"
-                                                                    "i430"
-                                                                    "i428"
-                                                                    "i426"
-                                                                    "i424"
-                                                                    "i422"
-                                                                    "i420"
-                                                                    "i418"
-                                                                    "i416"
-                                                                    "i414"
-                                                                    "i412"
-                                                                    "i410"
-                                                                    "i408"
-                                                                    "i406"
-                                                                    "i404"
-                                                                    "i402"
-                                                                    "i400"
-                                                                    "i398"
-                                                                    "i396"
-                                                                    "i394"
+                                                                   ("i461"
+                                                                    "i459"
+                                                                    "i457"
+                                                                    "i455"
+                                                                    "i453"
+                                                                    "i451"
+                                                                    "i449"
+                                                                    "i447"
+                                                                    "i445"
+                                                                    "i443"
+                                                                    "i441"
+                                                                    "i439"
+                                                                    "i437"
+                                                                    "i435"
+                                                                    "i433"
+                                                                    "i431"
+                                                                    "i429"
+                                                                    "i427"
+                                                                    "i425"
+                                                                    "i423"
+                                                                    "i421"
+                                                                    "i419"
+                                                                    "i417"
+                                                                    "i415"
+                                                                    "i413"
+                                                                    "i411"
+                                                                    "i409"
+                                                                    "i407"
+                                                                    "i405"
+                                                                    "i403"
+                                                                    "i401"
+                                                                    "i399"
+                                                                    "i397"
+                                                                    "i395"
+                                                                    "i393"
                                                                     "i392"
                                                                     "i390"
-                                                                    "i388"
+                                                                    "i387"
                                                                     "i386"
-                                                                    "i384"
+                                                                    "i385"
+                                                                    "i383"
                                                                     "i382"
                                                                     "i380"
-                                                                    "i379"
                                                                     "i378"
                                                                     "i376"
-                                                                    "i375"
                                                                     "i374"
-                                                                    "i373"
                                                                     "i372"
                                                                     "i370"
                                                                     "i368"
                                                                     "i366"
-                                                                    "i364"
-                                                                    "i362"
+                                                                    "i363"
+                                                                    "i361"
                                                                     "i360"
                                                                     "i358"
                                                                     "i356"
-                                                                    "i353"
+                                                                    "i354"
+                                                                    "i352"
                                                                     "i351"
                                                                     "i350"
                                                                     "i349"
-                                                                    "i348"
                                                                     "i347"
                                                                     "i346"
-                                                                    "i345"
-                                                                    "i344"
                                                                     "i343"
                                                                     "i341"
-                                                                    "i340"
-                                                                    "i338"
-                                                                    "i336"
-                                                                    "i334"
-                                                                    "i332"
+                                                                    "i339"
+                                                                    "i337"
+                                                                    "i335"
+                                                                    "i333"
+                                                                    "i331"
                                                                     "i330"
-                                                                    "i328"
-                                                                    "i326"
+                                                                    "i329"
+                                                                    "i327"
                                                                     "i325"
                                                                     "i324"
-                                                                    "i323"
-                                                                    "i322"
                                                                     "i321"
-                                                                    "i319"
+                                                                    "i320"
                                                                     "i318"
                                                                     "i316"
                                                                     "i314"
@@ -3930,31 +3931,30 @@
                                                                     "i306"
                                                                     "i304"
                                                                     "i302"
-                                                                    "i300"
-                                                                    "i298"
-                                                                    "i296"
-                                                                    "i294"
-                                                                    "i292"
-                                                                    "i290"
-                                                                    "i288"
-                                                                    "i286"
-                                                                    "i284"
-                                                                    "i282"
-                                                                    "i280"
-                                                                    "i278"
-                                                                    "i276"
-                                                                    "i274"
-                                                                    "i272"
-                                                                    "i270"
-                                                                    "i268"
-                                                                    "i266"
-                                                                    "i264"
-                                                                    "i262"
-                                                                    "i260"
-                                                                    "i258"
-                                                                    "i256"
+                                                                    "i299"
+                                                                    "i297"
+                                                                    "i295"
+                                                                    "i293"
+                                                                    "i291"
+                                                                    "i289"
+                                                                    "i287"
+                                                                    "i285"
+                                                                    "i283"
+                                                                    "i281"
+                                                                    "i279"
+                                                                    "i277"
+                                                                    "i275"
+                                                                    "i273"
+                                                                    "i271"
+                                                                    "i269"
+                                                                    "i267"
+                                                                    "i265"
+                                                                    "i263"
+                                                                    "i261"
+                                                                    "i259"
+                                                                    "i257"
+                                                                    "i255"
                                                                     "i254"
-                                                                    "i253"
                                                                     "i251"
                                                                     "i249"
                                                                     "i248"
@@ -3994,43 +3994,43 @@
                                                                     "i38")))
                                                                 (hygiene
                                                                   guile))
-                                                             (#{wrap 405}#
-                                                               (cons #{args 
1840}#
-                                                                     (cons 
#{e1 1841}#
-                                                                           
#{e2 1842}#))
-                                                               #{w 1747}#
-                                                               #{mod 1750}#))
-                                                       #{s 1748}#)
+                                                             (#{wrap 418}#
+                                                               (cons #{args 
1854}#
+                                                                     (cons 
#{e1 1855}#
+                                                                           
#{e2 1856}#))
+                                                               #{w 1761}#
+                                                               #{mod 1764}#))
+                                                       #{s 1762}#)
                                                      '(())
-                                                     #{s 1748}#
-                                                     #{mod 1750}#))
-                                                 #{tmp 1824}#)
-                                               (let ((#{tmp 1845}#
+                                                     #{s 1762}#
+                                                     #{mod 1764}#))
+                                                 #{tmp 1838}#)
+                                               (let ((#{tmp 1859}#
                                                        ($sc-dispatch
-                                                         #{tmp 1814}#
+                                                         #{tmp 1828}#
                                                          '(_ any))))
-                                                 (if (if #{tmp 1845}#
+                                                 (if (if #{tmp 1859}#
                                                        (@apply
-                                                         (lambda (#{name 
1847}#)
-                                                           (#{id? 339}#
-                                                             #{name 1847}#))
-                                                         #{tmp 1845}#)
+                                                         (lambda (#{name 
1861}#)
+                                                           (#{id? 344}#
+                                                             #{name 1861}#))
+                                                         #{tmp 1859}#)
                                                        #f)
                                                    (@apply
-                                                     (lambda (#{name 1849}#)
+                                                     (lambda (#{name 1863}#)
                                                        (values
                                                          'define-form
-                                                         (#{wrap 405}#
-                                                           #{name 1849}#
-                                                           #{w 1747}#
-                                                           #{mod 1750}#)
+                                                         (#{wrap 418}#
+                                                           #{name 1863}#
+                                                           #{w 1761}#
+                                                           #{mod 1764}#)
                                                          '(#(syntax-object
                                                              if
                                                              ((top)
                                                               #(ribcage
                                                                 #(name)
                                                                 #((top))
-                                                                #("i1848"))
+                                                                #("i1862"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -4052,12 +4052,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1788"
-                                                                  "i1789"
-                                                                  "i1790"
-                                                                  "i1791"
-                                                                  "i1792"
-                                                                  "i1793"))
+                                                                #("i1802"
+                                                                  "i1803"
+                                                                  "i1804"
+                                                                  "i1805"
+                                                                  "i1806"
+                                                                  "i1807"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -4065,7 +4065,7 @@
                                                               #(ribcage
                                                                 #(first)
                                                                 #((top))
-                                                                #("i1780"))
+                                                                #("i1794"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -4093,13 +4093,13 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1752"
-                                                                  "i1753"
-                                                                  "i1754"
-                                                                  "i1755"
-                                                                  "i1756"
-                                                                  "i1757"
-                                                                  "i1758"))
+                                                                #("i1766"
+                                                                  "i1767"
+                                                                  "i1768"
+                                                                  "i1769"
+                                                                  "i1770"
+                                                                  "i1771"
+                                                                  "i1772"))
                                                               #(ribcage
                                                                 
(lambda-var-list
                                                                   gen-var
@@ -4373,81 +4373,82 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                                ("i448"
-                                                                 "i446"
-                                                                 "i444"
-                                                                 "i442"
-                                                                 "i440"
-                                                                 "i438"
-                                                                 "i436"
-                                                                 "i434"
-                                                                 "i432"
-                                                                 "i430"
-                                                                 "i428"
-                                                                 "i426"
-                                                                 "i424"
-                                                                 "i422"
-                                                                 "i420"
-                                                                 "i418"
-                                                                 "i416"
-                                                                 "i414"
-                                                                 "i412"
-                                                                 "i410"
-                                                                 "i408"
-                                                                 "i406"
-                                                                 "i404"
-                                                                 "i402"
-                                                                 "i400"
-                                                                 "i398"
-                                                                 "i396"
-                                                                 "i394"
+                                                                ("i461"
+                                                                 "i459"
+                                                                 "i457"
+                                                                 "i455"
+                                                                 "i453"
+                                                                 "i451"
+                                                                 "i449"
+                                                                 "i447"
+                                                                 "i445"
+                                                                 "i443"
+                                                                 "i441"
+                                                                 "i439"
+                                                                 "i437"
+                                                                 "i435"
+                                                                 "i433"
+                                                                 "i431"
+                                                                 "i429"
+                                                                 "i427"
+                                                                 "i425"
+                                                                 "i423"
+                                                                 "i421"
+                                                                 "i419"
+                                                                 "i417"
+                                                                 "i415"
+                                                                 "i413"
+                                                                 "i411"
+                                                                 "i409"
+                                                                 "i407"
+                                                                 "i405"
+                                                                 "i403"
+                                                                 "i401"
+                                                                 "i399"
+                                                                 "i397"
+                                                                 "i395"
+                                                                 "i393"
                                                                  "i392"
                                                                  "i390"
-                                                                 "i388"
+                                                                 "i387"
                                                                  "i386"
-                                                                 "i384"
+                                                                 "i385"
+                                                                 "i383"
                                                                  "i382"
                                                                  "i380"
-                                                                 "i379"
                                                                  "i378"
                                                                  "i376"
-                                                                 "i375"
                                                                  "i374"
-                                                                 "i373"
                                                                  "i372"
                                                                  "i370"
                                                                  "i368"
                                                                  "i366"
-                                                                 "i364"
-                                                                 "i362"
+                                                                 "i363"
+                                                                 "i361"
                                                                  "i360"
                                                                  "i358"
                                                                  "i356"
-                                                                 "i353"
+                                                                 "i354"
+                                                                 "i352"
                                                                  "i351"
                                                                  "i350"
                                                                  "i349"
-                                                                 "i348"
                                                                  "i347"
                                                                  "i346"
-                                                                 "i345"
-                                                                 "i344"
                                                                  "i343"
                                                                  "i341"
-                                                                 "i340"
-                                                                 "i338"
-                                                                 "i336"
-                                                                 "i334"
-                                                                 "i332"
+                                                                 "i339"
+                                                                 "i337"
+                                                                 "i335"
+                                                                 "i333"
+                                                                 "i331"
                                                                  "i330"
-                                                                 "i328"
-                                                                 "i326"
+                                                                 "i329"
+                                                                 "i327"
                                                                  "i325"
                                                                  "i324"
-                                                                 "i323"
-                                                                 "i322"
                                                                  "i321"
-                                                                 "i319"
+                                                                 "i320"
                                                                  "i318"
                                                                  "i316"
                                                                  "i314"
@@ -4457,31 +4458,30 @@
                                                                  "i306"
                                                                  "i304"
                                                                  "i302"
-                                                                 "i300"
-                                                                 "i298"
-                                                                 "i296"
-                                                                 "i294"
-                                                                 "i292"
-                                                                 "i290"
-                                                                 "i288"
-                                                                 "i286"
-                                                                 "i284"
-                                                                 "i282"
-                                                                 "i280"
-                                                                 "i278"
-                                                                 "i276"
-                                                                 "i274"
-                                                                 "i272"
-                                                                 "i270"
-                                                                 "i268"
-                                                                 "i266"
-                                                                 "i264"
-                                                                 "i262"
-                                                                 "i260"
-                                                                 "i258"
-                                                                 "i256"
+                                                                 "i299"
+                                                                 "i297"
+                                                                 "i295"
+                                                                 "i293"
+                                                                 "i291"
+                                                                 "i289"
+                                                                 "i287"
+                                                                 "i285"
+                                                                 "i283"
+                                                                 "i281"
+                                                                 "i279"
+                                                                 "i277"
+                                                                 "i275"
+                                                                 "i273"
+                                                                 "i271"
+                                                                 "i269"
+                                                                 "i267"
+                                                                 "i265"
+                                                                 "i263"
+                                                                 "i261"
+                                                                 "i259"
+                                                                 "i257"
+                                                                 "i255"
                                                                  "i254"
-                                                                 "i253"
                                                                  "i251"
                                                                  "i249"
                                                                  "i248"
@@ -4526,7 +4526,7 @@
                                                               #(ribcage
                                                                 #(name)
                                                                 #((top))
-                                                                #("i1848"))
+                                                                #("i1862"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -4548,12 +4548,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1788"
-                                                                  "i1789"
-                                                                  "i1790"
-                                                                  "i1791"
-                                                                  "i1792"
-                                                                  "i1793"))
+                                                                #("i1802"
+                                                                  "i1803"
+                                                                  "i1804"
+                                                                  "i1805"
+                                                                  "i1806"
+                                                                  "i1807"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -4561,7 +4561,7 @@
                                                               #(ribcage
                                                                 #(first)
                                                                 #((top))
-                                                                #("i1780"))
+                                                                #("i1794"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -4589,13 +4589,13 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1752"
-                                                                  "i1753"
-                                                                  "i1754"
-                                                                  "i1755"
-                                                                  "i1756"
-                                                                  "i1757"
-                                                                  "i1758"))
+                                                                #("i1766"
+                                                                  "i1767"
+                                                                  "i1768"
+                                                                  "i1769"
+                                                                  "i1770"
+                                                                  "i1771"
+                                                                  "i1772"))
                                                               #(ribcage
                                                                 
(lambda-var-list
                                                                   gen-var
@@ -4869,81 +4869,82 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                                ("i448"
-                                                                 "i446"
-                                                                 "i444"
-                                                                 "i442"
-                                                                 "i440"
-                                                                 "i438"
-                                                                 "i436"
-                                                                 "i434"
-                                                                 "i432"
-                                                                 "i430"
-                                                                 "i428"
-                                                                 "i426"
-                                                                 "i424"
-                                                                 "i422"
-                                                                 "i420"
-                                                                 "i418"
-                                                                 "i416"
-                                                                 "i414"
-                                                                 "i412"
-                                                                 "i410"
-                                                                 "i408"
-                                                                 "i406"
-                                                                 "i404"
-                                                                 "i402"
-                                                                 "i400"
-                                                                 "i398"
-                                                                 "i396"
-                                                                 "i394"
+                                                                ("i461"
+                                                                 "i459"
+                                                                 "i457"
+                                                                 "i455"
+                                                                 "i453"
+                                                                 "i451"
+                                                                 "i449"
+                                                                 "i447"
+                                                                 "i445"
+                                                                 "i443"
+                                                                 "i441"
+                                                                 "i439"
+                                                                 "i437"
+                                                                 "i435"
+                                                                 "i433"
+                                                                 "i431"
+                                                                 "i429"
+                                                                 "i427"
+                                                                 "i425"
+                                                                 "i423"
+                                                                 "i421"
+                                                                 "i419"
+                                                                 "i417"
+                                                                 "i415"
+                                                                 "i413"
+                                                                 "i411"
+                                                                 "i409"
+                                                                 "i407"
+                                                                 "i405"
+                                                                 "i403"
+                                                                 "i401"
+                                                                 "i399"
+                                                                 "i397"
+                                                                 "i395"
+                                                                 "i393"
                                                                  "i392"
                                                                  "i390"
-                                                                 "i388"
+                                                                 "i387"
                                                                  "i386"
-                                                                 "i384"
+                                                                 "i385"
+                                                                 "i383"
                                                                  "i382"
                                                                  "i380"
-                                                                 "i379"
                                                                  "i378"
                                                                  "i376"
-                                                                 "i375"
                                                                  "i374"
-                                                                 "i373"
                                                                  "i372"
                                                                  "i370"
                                                                  "i368"
                                                                  "i366"
-                                                                 "i364"
-                                                                 "i362"
+                                                                 "i363"
+                                                                 "i361"
                                                                  "i360"
                                                                  "i358"
                                                                  "i356"
-                                                                 "i353"
+                                                                 "i354"
+                                                                 "i352"
                                                                  "i351"
                                                                  "i350"
                                                                  "i349"
-                                                                 "i348"
                                                                  "i347"
                                                                  "i346"
-                                                                 "i345"
-                                                                 "i344"
                                                                  "i343"
                                                                  "i341"
-                                                                 "i340"
-                                                                 "i338"
-                                                                 "i336"
-                                                                 "i334"
-                                                                 "i332"
+                                                                 "i339"
+                                                                 "i337"
+                                                                 "i335"
+                                                                 "i333"
+                                                                 "i331"
                                                                  "i330"
-                                                                 "i328"
-                                                                 "i326"
+                                                                 "i329"
+                                                                 "i327"
                                                                  "i325"
                                                                  "i324"
-                                                                 "i323"
-                                                                 "i322"
                                                                  "i321"
-                                                                 "i319"
+                                                                 "i320"
                                                                  "i318"
                                                                  "i316"
                                                                  "i314"
@@ -4953,31 +4954,30 @@
                                                                  "i306"
                                                                  "i304"
                                                                  "i302"
-                                                                 "i300"
-                                                                 "i298"
-                                                                 "i296"
-                                                                 "i294"
-                                                                 "i292"
-                                                                 "i290"
-                                                                 "i288"
-                                                                 "i286"
-                                                                 "i284"
-                                                                 "i282"
-                                                                 "i280"
-                                                                 "i278"
-                                                                 "i276"
-                                                                 "i274"
-                                                                 "i272"
-                                                                 "i270"
-                                                                 "i268"
-                                                                 "i266"
-                                                                 "i264"
-                                                                 "i262"
-                                                                 "i260"
-                                                                 "i258"
-                                                                 "i256"
+                                                                 "i299"
+                                                                 "i297"
+                                                                 "i295"
+                                                                 "i293"
+                                                                 "i291"
+                                                                 "i289"
+                                                                 "i287"
+                                                                 "i285"
+                                                                 "i283"
+                                                                 "i281"
+                                                                 "i279"
+                                                                 "i277"
+                                                                 "i275"
+                                                                 "i273"
+                                                                 "i271"
+                                                                 "i269"
+                                                                 "i267"
+                                                                 "i265"
+                                                                 "i263"
+                                                                 "i261"
+                                                                 "i259"
+                                                                 "i257"
+                                                                 "i255"
                                                                  "i254"
-                                                                 "i253"
                                                                  "i251"
                                                                  "i249"
                                                                  "i248"
@@ -5022,7 +5022,7 @@
                                                               #(ribcage
                                                                 #(name)
                                                                 #((top))
-                                                                #("i1848"))
+                                                                #("i1862"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -5044,12 +5044,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1788"
-                                                                  "i1789"
-                                                                  "i1790"
-                                                                  "i1791"
-                                                                  "i1792"
-                                                                  "i1793"))
+                                                                #("i1802"
+                                                                  "i1803"
+                                                                  "i1804"
+                                                                  "i1805"
+                                                                  "i1806"
+                                                                  "i1807"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -5057,7 +5057,7 @@
                                                               #(ribcage
                                                                 #(first)
                                                                 #((top))
-                                                                #("i1780"))
+                                                                #("i1794"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -5085,13 +5085,13 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i1752"
-                                                                  "i1753"
-                                                                  "i1754"
-                                                                  "i1755"
-                                                                  "i1756"
-                                                                  "i1757"
-                                                                  "i1758"))
+                                                                #("i1766"
+                                                                  "i1767"
+                                                                  "i1768"
+                                                                  "i1769"
+                                                                  "i1770"
+                                                                  "i1771"
+                                                                  "i1772"))
                                                               #(ribcage
                                                                 
(lambda-var-list
                                                                   gen-var
@@ -5365,81 +5365,82 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                                ("i448"
-                                                                 "i446"
-                                                                 "i444"
-                                                                 "i442"
-                                                                 "i440"
-                                                                 "i438"
-                                                                 "i436"
-                                                                 "i434"
-                                                                 "i432"
-                                                                 "i430"
-                                                                 "i428"
-                                                                 "i426"
-                                                                 "i424"
-                                                                 "i422"
-                                                                 "i420"
-                                                                 "i418"
-                                                                 "i416"
-                                                                 "i414"
-                                                                 "i412"
-                                                                 "i410"
-                                                                 "i408"
-                                                                 "i406"
-                                                                 "i404"
-                                                                 "i402"
-                                                                 "i400"
-                                                                 "i398"
-                                                                 "i396"
-                                                                 "i394"
+                                                                ("i461"
+                                                                 "i459"
+                                                                 "i457"
+                                                                 "i455"
+                                                                 "i453"
+                                                                 "i451"
+                                                                 "i449"
+                                                                 "i447"
+                                                                 "i445"
+                                                                 "i443"
+                                                                 "i441"
+                                                                 "i439"
+                                                                 "i437"
+                                                                 "i435"
+                                                                 "i433"
+                                                                 "i431"
+                                                                 "i429"
+                                                                 "i427"
+                                                                 "i425"
+                                                                 "i423"
+                                                                 "i421"
+                                                                 "i419"
+                                                                 "i417"
+                                                                 "i415"
+                                                                 "i413"
+                                                                 "i411"
+                                                                 "i409"
+                                                                 "i407"
+                                                                 "i405"
+                                                                 "i403"
+                                                                 "i401"
+                                                                 "i399"
+                                                                 "i397"
+                                                                 "i395"
+                                                                 "i393"
                                                                  "i392"
                                                                  "i390"
-                                                                 "i388"
+                                                                 "i387"
                                                                  "i386"
-                                                                 "i384"
+                                                                 "i385"
+                                                                 "i383"
                                                                  "i382"
                                                                  "i380"
-                                                                 "i379"
                                                                  "i378"
                                                                  "i376"
-                                                                 "i375"
                                                                  "i374"
-                                                                 "i373"
                                                                  "i372"
                                                                  "i370"
                                                                  "i368"
                                                                  "i366"
-                                                                 "i364"
-                                                                 "i362"
+                                                                 "i363"
+                                                                 "i361"
                                                                  "i360"
                                                                  "i358"
                                                                  "i356"
-                                                                 "i353"
+                                                                 "i354"
+                                                                 "i352"
                                                                  "i351"
                                                                  "i350"
                                                                  "i349"
-                                                                 "i348"
                                                                  "i347"
                                                                  "i346"
-                                                                 "i345"
-                                                                 "i344"
                                                                  "i343"
                                                                  "i341"
-                                                                 "i340"
-                                                                 "i338"
-                                                                 "i336"
-                                                                 "i334"
-                                                                 "i332"
+                                                                 "i339"
+                                                                 "i337"
+                                                                 "i335"
+                                                                 "i333"
+                                                                 "i331"
                                                                  "i330"
-                                                                 "i328"
-                                                                 "i326"
+                                                                 "i329"
+                                                                 "i327"
                                                                  "i325"
                                                                  "i324"
-                                                                 "i323"
-                                                                 "i322"
                                                                  "i321"
-                                                                 "i319"
+                                                                 "i320"
                                                                  "i318"
                                                                  "i316"
                                                                  "i314"
@@ -5449,31 +5450,30 @@
                                                                  "i306"
                                                                  "i304"
                                                                  "i302"
-                                                                 "i300"
-                                                                 "i298"
-                                                                 "i296"
-                                                                 "i294"
-                                                                 "i292"
-                                                                 "i290"
-                                                                 "i288"
-                                                                 "i286"
-                                                                 "i284"
-                                                                 "i282"
-                                                                 "i280"
-                                                                 "i278"
-                                                                 "i276"
-                                                                 "i274"
-                                                                 "i272"
-                                                                 "i270"
-                                                                 "i268"
-                                                                 "i266"
-                                                                 "i264"
-                                                                 "i262"
-                                                                 "i260"
-                                                                 "i258"
-                                                                 "i256"
+                                                                 "i299"
+                                                                 "i297"
+                                                                 "i295"
+                                                                 "i293"
+                                                                 "i291"
+                                                                 "i289"
+                                                                 "i287"
+                                                                 "i285"
+                                                                 "i283"
+                                                                 "i281"
+                                                                 "i279"
+                                                                 "i277"
+                                                                 "i275"
+                                                                 "i273"
+                                                                 "i271"
+                                                                 "i269"
+                                                                 "i267"
+                                                                 "i265"
+                                                                 "i263"
+                                                                 "i261"
+                                                                 "i259"
+                                                                 "i257"
+                                                                 "i255"
                                                                  "i254"
-                                                                 "i253"
                                                                  "i251"
                                                                  "i249"
                                                                  "i248"
@@ -5513,817 +5513,817 @@
                                                                  "i38")))
                                                              (hygiene guile)))
                                                          '(())
-                                                         #{s 1748}#
-                                                         #{mod 1750}#))
-                                                     #{tmp 1845}#)
+                                                         #{s 1762}#
+                                                         #{mod 1764}#))
+                                                     #{tmp 1859}#)
                                                    (syntax-violation
                                                      #f
                                                      "source expression failed 
to match any pattern"
-                                                     #{tmp 1814}#))))))))
-                                     (if (eqv? #{ftype 1782}# 'define-syntax)
-                                       (let ((#{tmp 1852}# #{e 1745}#))
-                                         (let ((#{tmp 1853}#
+                                                     #{tmp 1828}#))))))))
+                                     (if (eqv? #{ftype 1796}# 'define-syntax)
+                                       (let ((#{tmp 1866}# #{e 1759}#))
+                                         (let ((#{tmp 1867}#
                                                  ($sc-dispatch
-                                                   #{tmp 1852}#
+                                                   #{tmp 1866}#
                                                    '(_ any any))))
-                                           (if (if #{tmp 1853}#
+                                           (if (if #{tmp 1867}#
                                                  (@apply
-                                                   (lambda (#{name 1856}#
-                                                            #{val 1857}#)
-                                                     (#{id? 339}#
-                                                       #{name 1856}#))
-                                                   #{tmp 1853}#)
+                                                   (lambda (#{name 1870}#
+                                                            #{val 1871}#)
+                                                     (#{id? 344}#
+                                                       #{name 1870}#))
+                                                   #{tmp 1867}#)
                                                  #f)
                                              (@apply
-                                               (lambda (#{name 1860}#
-                                                        #{val 1861}#)
+                                               (lambda (#{name 1874}#
+                                                        #{val 1875}#)
                                                  (values
                                                    'define-syntax-form
-                                                   #{name 1860}#
-                                                   #{val 1861}#
-                                                   #{w 1747}#
-                                                   #{s 1748}#
-                                                   #{mod 1750}#))
-                                               #{tmp 1853}#)
+                                                   #{name 1874}#
+                                                   #{val 1875}#
+                                                   #{w 1761}#
+                                                   #{s 1762}#
+                                                   #{mod 1764}#))
+                                               #{tmp 1867}#)
                                              (syntax-violation
                                                #f
                                                "source expression failed to 
match any pattern"
-                                               #{tmp 1852}#))))
+                                               #{tmp 1866}#))))
                                        (values
                                          'call
                                          #f
-                                         #{e 1745}#
-                                         #{w 1747}#
-                                         #{s 1748}#
-                                         #{mod 1750}#)))))))))))))))
-           (if (#{syntax-object? 305}# #{e 1745}#)
-             (#{syntax-type 417}#
-               (#{syntax-object-expression 307}# #{e 1745}#)
-               #{r 1746}#
-               (#{join-wraps 387}#
-                 #{w 1747}#
-                 (#{syntax-object-wrap 309}# #{e 1745}#))
+                                         #{e 1759}#
+                                         #{w 1761}#
+                                         #{s 1762}#
+                                         #{mod 1764}#)))))))))))))))
+           (if (#{syntax-object? 307}# #{e 1759}#)
+             (#{syntax-type 430}#
+               (#{syntax-object-expression 309}# #{e 1759}#)
+               #{r 1760}#
+               (#{join-wraps 400}#
+                 #{w 1761}#
+                 (#{syntax-object-wrap 311}# #{e 1759}#))
                (begin
-                 (let ((#{t 1867}#
-                         (#{source-annotation 320}# #{e 1745}#)))
-                   (if #{t 1867}# #{t 1867}# #{s 1748}#)))
-               #{rib 1749}#
+                 (let ((#{t 1881}#
+                         (#{source-annotation 322}# #{e 1759}#)))
+                   (if #{t 1881}# #{t 1881}# #{s 1762}#)))
+               #{rib 1763}#
                (begin
-                 (let ((#{t 1871}#
-                         (#{syntax-object-module 311}# #{e 1745}#)))
-                   (if #{t 1871}# #{t 1871}# #{mod 1750}#)))
-               #{for-car? 1751}#)
-             (if (self-evaluating? #{e 1745}#)
+                 (let ((#{t 1885}#
+                         (#{syntax-object-module 313}# #{e 1759}#)))
+                   (if #{t 1885}# #{t 1885}# #{mod 1764}#)))
+               #{for-car? 1765}#)
+             (if (self-evaluating? #{e 1759}#)
                (values
                  'constant
                  #f
-                 #{e 1745}#
-                 #{w 1747}#
-                 #{s 1748}#
-                 #{mod 1750}#)
+                 #{e 1759}#
+                 #{w 1761}#
+                 #{s 1762}#
+                 #{mod 1764}#)
                (values
                  'other
                  #f
-                 #{e 1745}#
-                 #{w 1747}#
-                 #{s 1748}#
-                 #{mod 1750}#)))))))
-   (#{chi 419}#
-     (lambda (#{e 1876}# #{r 1877}# #{w 1878}# #{mod 1879}#)
+                 #{e 1759}#
+                 #{w 1761}#
+                 #{s 1762}#
+                 #{mod 1764}#)))))))
+   (#{chi 432}#
+     (lambda (#{e 1890}# #{r 1891}# #{w 1892}# #{mod 1893}#)
        (call-with-values
          (lambda ()
-           (#{syntax-type 417}#
-             #{e 1876}#
-             #{r 1877}#
-             #{w 1878}#
-             (#{source-annotation 320}# #{e 1876}#)
+           (#{syntax-type 430}#
+             #{e 1890}#
+             #{r 1891}#
+             #{w 1892}#
+             (#{source-annotation 322}# #{e 1890}#)
              #f
-             #{mod 1879}#
+             #{mod 1893}#
              #f))
-         (lambda (#{type 1884}#
-                  #{value 1885}#
-                  #{e 1886}#
-                  #{w 1887}#
-                  #{s 1888}#
-                  #{mod 1889}#)
-           (#{chi-expr 421}#
-             #{type 1884}#
-             #{value 1885}#
-             #{e 1886}#
-             #{r 1877}#
-             #{w 1887}#
-             #{s 1888}#
-             #{mod 1889}#)))))
-   (#{chi-expr 421}#
-     (lambda (#{type 1896}#
-              #{value 1897}#
-              #{e 1898}#
-              #{r 1899}#
-              #{w 1900}#
-              #{s 1901}#
-              #{mod 1902}#)
-       (if (eqv? #{type 1896}# 'lexical)
-         (#{build-lexical-reference 271}#
+         (lambda (#{type 1898}#
+                  #{value 1899}#
+                  #{e 1900}#
+                  #{w 1901}#
+                  #{s 1902}#
+                  #{mod 1903}#)
+           (#{chi-expr 434}#
+             #{type 1898}#
+             #{value 1899}#
+             #{e 1900}#
+             #{r 1891}#
+             #{w 1901}#
+             #{s 1902}#
+             #{mod 1903}#)))))
+   (#{chi-expr 434}#
+     (lambda (#{type 1910}#
+              #{value 1911}#
+              #{e 1912}#
+              #{r 1913}#
+              #{w 1914}#
+              #{s 1915}#
+              #{mod 1916}#)
+       (if (eqv? #{type 1910}# 'lexical)
+         (#{build-lexical-reference 272}#
            'value
-           #{s 1901}#
-           #{e 1898}#
-           #{value 1897}#)
-         (if (if (eqv? #{type 1896}# 'core)
+           #{s 1915}#
+           #{e 1912}#
+           #{value 1911}#)
+         (if (if (eqv? #{type 1910}# 'core)
                #t
-               (eqv? #{type 1896}# 'core-form))
-           (#{value 1897}#
-             #{e 1898}#
-             #{r 1899}#
-             #{w 1900}#
-             #{s 1901}#
-             #{mod 1902}#)
-           (if (eqv? #{type 1896}# 'module-ref)
+               (eqv? #{type 1910}# 'core-form))
+           (#{value 1911}#
+             #{e 1912}#
+             #{r 1913}#
+             #{w 1914}#
+             #{s 1915}#
+             #{mod 1916}#)
+           (if (eqv? #{type 1910}# 'module-ref)
              (call-with-values
                (lambda ()
-                 (#{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}#))
-               (lambda (#{e 1913}#
-                        #{r 1914}#
-                        #{w 1915}#
-                        #{s 1916}#
-                        #{mod 1917}#)
-                 (#{chi 419}#
-                   #{e 1913}#
-                   #{r 1914}#
-                   #{w 1915}#
-                   #{mod 1917}#)))
-             (if (eqv? #{type 1896}# 'lexical-call)
-               (#{chi-application 423}#
+                 (#{value 1911}# #{e 1912}# #{r 1913}# #{w 1914}#))
+               (lambda (#{e 1927}#
+                        #{r 1928}#
+                        #{w 1929}#
+                        #{s 1930}#
+                        #{mod 1931}#)
+                 (#{chi 432}#
+                   #{e 1927}#
+                   #{r 1928}#
+                   #{w 1929}#
+                   #{mod 1931}#)))
+             (if (eqv? #{type 1910}# 'lexical-call)
+               (#{chi-application 436}#
                  (begin
-                   (let ((#{id 1925}# (car #{e 1898}#)))
-                     (#{build-lexical-reference 271}#
+                   (let ((#{id 1939}# (car #{e 1912}#)))
+                     (#{build-lexical-reference 272}#
                        'fun
-                       (#{source-annotation 320}# #{id 1925}#)
-                       (if (#{syntax-object? 305}# #{id 1925}#)
-                         (syntax->datum #{id 1925}#)
-                         #{id 1925}#)
-                       #{value 1897}#)))
-                 #{e 1898}#
-                 #{r 1899}#
-                 #{w 1900}#
-                 #{s 1901}#
-                 #{mod 1902}#)
-               (if (eqv? #{type 1896}# 'global-call)
-                 (#{chi-application 423}#
-                   (#{build-global-reference 277}#
-                     (#{source-annotation 320}# (car #{e 1898}#))
-                     (if (#{syntax-object? 305}# #{value 1897}#)
-                       (#{syntax-object-expression 307}# #{value 1897}#)
-                       #{value 1897}#)
-                     (if (#{syntax-object? 305}# #{value 1897}#)
-                       (#{syntax-object-module 311}# #{value 1897}#)
-                       #{mod 1902}#))
-                   #{e 1898}#
-                   #{r 1899}#
-                   #{w 1900}#
-                   #{s 1901}#
-                   #{mod 1902}#)
-                 (if (eqv? #{type 1896}# 'constant)
-                   (#{build-data 291}#
-                     #{s 1901}#
-                     (#{strip 445}#
-                       (#{source-wrap 407}#
-                         #{e 1898}#
-                         #{w 1900}#
-                         #{s 1901}#
-                         #{mod 1902}#)
+                       (#{source-annotation 322}# #{id 1939}#)
+                       (if (#{syntax-object? 307}# #{id 1939}#)
+                         (syntax->datum #{id 1939}#)
+                         #{id 1939}#)
+                       #{value 1911}#)))
+                 #{e 1912}#
+                 #{r 1913}#
+                 #{w 1914}#
+                 #{s 1915}#
+                 #{mod 1916}#)
+               (if (eqv? #{type 1910}# 'global-call)
+                 (#{chi-application 436}#
+                   (#{build-global-reference 278}#
+                     (#{source-annotation 322}# (car #{e 1912}#))
+                     (if (#{syntax-object? 307}# #{value 1911}#)
+                       (#{syntax-object-expression 309}# #{value 1911}#)
+                       #{value 1911}#)
+                     (if (#{syntax-object? 307}# #{value 1911}#)
+                       (#{syntax-object-module 313}# #{value 1911}#)
+                       #{mod 1916}#))
+                   #{e 1912}#
+                   #{r 1913}#
+                   #{w 1914}#
+                   #{s 1915}#
+                   #{mod 1916}#)
+                 (if (eqv? #{type 1910}# 'constant)
+                   (#{build-data 292}#
+                     #{s 1915}#
+                     (#{strip 458}#
+                       (#{source-wrap 420}#
+                         #{e 1912}#
+                         #{w 1914}#
+                         #{s 1915}#
+                         #{mod 1916}#)
                        '(())))
-                   (if (eqv? #{type 1896}# 'global)
-                     (#{build-global-reference 277}#
-                       #{s 1901}#
-                       #{value 1897}#
-                       #{mod 1902}#)
-                     (if (eqv? #{type 1896}# 'call)
-                       (#{chi-application 423}#
-                         (#{chi 419}#
-                           (car #{e 1898}#)
-                           #{r 1899}#
-                           #{w 1900}#
-                           #{mod 1902}#)
-                         #{e 1898}#
-                         #{r 1899}#
-                         #{w 1900}#
-                         #{s 1901}#
-                         #{mod 1902}#)
-                       (if (eqv? #{type 1896}# 'begin-form)
-                         (let ((#{tmp 1932}# #{e 1898}#))
-                           (let ((#{tmp 1933}#
+                   (if (eqv? #{type 1910}# 'global)
+                     (#{build-global-reference 278}#
+                       #{s 1915}#
+                       #{value 1911}#
+                       #{mod 1916}#)
+                     (if (eqv? #{type 1910}# 'call)
+                       (#{chi-application 436}#
+                         (#{chi 432}#
+                           (car #{e 1912}#)
+                           #{r 1913}#
+                           #{w 1914}#
+                           #{mod 1916}#)
+                         #{e 1912}#
+                         #{r 1913}#
+                         #{w 1914}#
+                         #{s 1915}#
+                         #{mod 1916}#)
+                       (if (eqv? #{type 1910}# 'begin-form)
+                         (let ((#{tmp 1946}# #{e 1912}#))
+                           (let ((#{tmp 1947}#
                                    ($sc-dispatch
-                                     #{tmp 1932}#
+                                     #{tmp 1946}#
                                      '(_ any . each-any))))
-                             (if #{tmp 1933}#
+                             (if #{tmp 1947}#
                                (@apply
-                                 (lambda (#{e1 1936}# #{e2 1937}#)
-                                   (#{chi-sequence 409}#
-                                     (cons #{e1 1936}# #{e2 1937}#)
-                                     #{r 1899}#
-                                     #{w 1900}#
-                                     #{s 1901}#
-                                     #{mod 1902}#))
-                                 #{tmp 1933}#)
+                                 (lambda (#{e1 1950}# #{e2 1951}#)
+                                   (#{chi-sequence 422}#
+                                     (cons #{e1 1950}# #{e2 1951}#)
+                                     #{r 1913}#
+                                     #{w 1914}#
+                                     #{s 1915}#
+                                     #{mod 1916}#))
+                                 #{tmp 1947}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 1932}#))))
-                         (if (eqv? #{type 1896}# 'local-syntax-form)
-                           (#{chi-local-syntax 429}#
-                             #{value 1897}#
-                             #{e 1898}#
-                             #{r 1899}#
-                             #{w 1900}#
-                             #{s 1901}#
-                             #{mod 1902}#
-                             #{chi-sequence 409}#)
-                           (if (eqv? #{type 1896}# 'eval-when-form)
-                             (let ((#{tmp 1941}# #{e 1898}#))
-                               (let ((#{tmp 1942}#
+                                 #{tmp 1946}#))))
+                         (if (eqv? #{type 1910}# 'local-syntax-form)
+                           (#{chi-local-syntax 442}#
+                             #{value 1911}#
+                             #{e 1912}#
+                             #{r 1913}#
+                             #{w 1914}#
+                             #{s 1915}#
+                             #{mod 1916}#
+                             #{chi-sequence 422}#)
+                           (if (eqv? #{type 1910}# 'eval-when-form)
+                             (let ((#{tmp 1955}# #{e 1912}#))
+                               (let ((#{tmp 1956}#
                                        ($sc-dispatch
-                                         #{tmp 1941}#
+                                         #{tmp 1955}#
                                          '(_ each-any any . each-any))))
-                                 (if #{tmp 1942}#
+                                 (if #{tmp 1956}#
                                    (@apply
-                                     (lambda (#{x 1946}#
-                                              #{e1 1947}#
-                                              #{e2 1948}#)
+                                     (lambda (#{x 1960}#
+                                              #{e1 1961}#
+                                              #{e2 1962}#)
                                        (begin
-                                         (let ((#{when-list 1950}#
-                                                 (#{chi-when-list 415}#
-                                                   #{e 1898}#
-                                                   #{x 1946}#
-                                                   #{w 1900}#)))
-                                           (if (memq 'eval #{when-list 1950}#)
-                                             (#{chi-sequence 409}#
-                                               (cons #{e1 1947}# #{e2 1948}#)
-                                               #{r 1899}#
-                                               #{w 1900}#
-                                               #{s 1901}#
-                                               #{mod 1902}#)
-                                             (#{chi-void 433}#)))))
-                                     #{tmp 1942}#)
+                                         (let ((#{when-list 1964}#
+                                                 (#{chi-when-list 428}#
+                                                   #{e 1912}#
+                                                   #{x 1960}#
+                                                   #{w 1914}#)))
+                                           (if (memq 'eval #{when-list 1964}#)
+                                             (#{chi-sequence 422}#
+                                               (cons #{e1 1961}# #{e2 1962}#)
+                                               #{r 1913}#
+                                               #{w 1914}#
+                                               #{s 1915}#
+                                               #{mod 1916}#)
+                                             (#{chi-void 446}#)))))
+                                     #{tmp 1956}#)
                                    (syntax-violation
                                      #f
                                      "source expression failed to match any 
pattern"
-                                     #{tmp 1941}#))))
-                             (if (if (eqv? #{type 1896}# 'define-form)
+                                     #{tmp 1955}#))))
+                             (if (if (eqv? #{type 1910}# 'define-form)
                                    #t
-                                   (eqv? #{type 1896}# 'define-syntax-form))
+                                   (eqv? #{type 1910}# 'define-syntax-form))
                                (syntax-violation
                                  #f
                                  "definition in expression context"
-                                 #{e 1898}#
-                                 (#{wrap 405}#
-                                   #{value 1897}#
-                                   #{w 1900}#
-                                   #{mod 1902}#))
-                               (if (eqv? #{type 1896}# 'syntax)
+                                 #{e 1912}#
+                                 (#{wrap 418}#
+                                   #{value 1911}#
+                                   #{w 1914}#
+                                   #{mod 1916}#))
+                               (if (eqv? #{type 1910}# 'syntax)
                                  (syntax-violation
                                    #f
                                    "reference to pattern variable outside 
syntax form"
-                                   (#{source-wrap 407}#
-                                     #{e 1898}#
-                                     #{w 1900}#
-                                     #{s 1901}#
-                                     #{mod 1902}#))
-                                 (if (eqv? #{type 1896}# 'displaced-lexical)
+                                   (#{source-wrap 420}#
+                                     #{e 1912}#
+                                     #{w 1914}#
+                                     #{s 1915}#
+                                     #{mod 1916}#))
+                                 (if (eqv? #{type 1910}# 'displaced-lexical)
                                    (syntax-violation
                                      #f
                                      "reference to identifier outside its 
scope"
-                                     (#{source-wrap 407}#
-                                       #{e 1898}#
-                                       #{w 1900}#
-                                       #{s 1901}#
-                                       #{mod 1902}#))
+                                     (#{source-wrap 420}#
+                                       #{e 1912}#
+                                       #{w 1914}#
+                                       #{s 1915}#
+                                       #{mod 1916}#))
                                    (syntax-violation
                                      #f
                                      "unexpected syntax"
-                                     (#{source-wrap 407}#
-                                       #{e 1898}#
-                                       #{w 1900}#
-                                       #{s 1901}#
-                                       #{mod 1902}#))))))))))))))))))
-   (#{chi-application 423}#
-     (lambda (#{x 1957}#
-              #{e 1958}#
-              #{r 1959}#
-              #{w 1960}#
-              #{s 1961}#
-              #{mod 1962}#)
-       (let ((#{tmp 1969}# #{e 1958}#))
-         (let ((#{tmp 1970}#
-                 ($sc-dispatch #{tmp 1969}# '(any . each-any))))
-           (if #{tmp 1970}#
+                                     (#{source-wrap 420}#
+                                       #{e 1912}#
+                                       #{w 1914}#
+                                       #{s 1915}#
+                                       #{mod 1916}#))))))))))))))))))
+   (#{chi-application 436}#
+     (lambda (#{x 1971}#
+              #{e 1972}#
+              #{r 1973}#
+              #{w 1974}#
+              #{s 1975}#
+              #{mod 1976}#)
+       (let ((#{tmp 1983}# #{e 1972}#))
+         (let ((#{tmp 1984}#
+                 ($sc-dispatch #{tmp 1983}# '(any . each-any))))
+           (if #{tmp 1984}#
              (@apply
-               (lambda (#{e0 1973}# #{e1 1974}#)
-                 (#{build-application 265}#
-                   #{s 1961}#
-                   #{x 1957}#
-                   (map (lambda (#{e 1975}#)
-                          (#{chi 419}#
-                            #{e 1975}#
-                            #{r 1959}#
-                            #{w 1960}#
-                            #{mod 1962}#))
-                        #{e1 1974}#)))
-               #{tmp 1970}#)
+               (lambda (#{e0 1987}# #{e1 1988}#)
+                 (#{build-application 266}#
+                   #{s 1975}#
+                   #{x 1971}#
+                   (map (lambda (#{e 1989}#)
+                          (#{chi 432}#
+                            #{e 1989}#
+                            #{r 1973}#
+                            #{w 1974}#
+                            #{mod 1976}#))
+                        #{e1 1988}#)))
+               #{tmp 1984}#)
              (syntax-violation
                #f
                "source expression failed to match any pattern"
-               #{tmp 1969}#))))))
-   (#{chi-macro 425}#
-     (lambda (#{p 1978}#
-              #{e 1979}#
-              #{r 1980}#
-              #{w 1981}#
-              #{s 1982}#
-              #{rib 1983}#
-              #{mod 1984}#)
+               #{tmp 1983}#))))))
+   (#{chi-macro 438}#
+     (lambda (#{p 1992}#
+              #{e 1993}#
+              #{r 1994}#
+              #{w 1995}#
+              #{s 1996}#
+              #{rib 1997}#
+              #{mod 1998}#)
        (letrec*
-         ((#{rebuild-macro-output 1993}#
-            (lambda (#{x 1994}# #{m 1995}#)
-              (if (pair? #{x 1994}#)
-                (#{decorate-source 259}#
-                  (cons (#{rebuild-macro-output 1993}#
-                          (car #{x 1994}#)
-                          #{m 1995}#)
-                        (#{rebuild-macro-output 1993}#
-                          (cdr #{x 1994}#)
-                          #{m 1995}#))
-                  #{s 1982}#)
-                (if (#{syntax-object? 305}# #{x 1994}#)
+         ((#{rebuild-macro-output 2007}#
+            (lambda (#{x 2008}# #{m 2009}#)
+              (if (pair? #{x 2008}#)
+                (#{decorate-source 260}#
+                  (cons (#{rebuild-macro-output 2007}#
+                          (car #{x 2008}#)
+                          #{m 2009}#)
+                        (#{rebuild-macro-output 2007}#
+                          (cdr #{x 2008}#)
+                          #{m 2009}#))
+                  #{s 1996}#)
+                (if (#{syntax-object? 307}# #{x 2008}#)
                   (begin
-                    (let ((#{w 2003}#
-                            (#{syntax-object-wrap 309}# #{x 1994}#)))
+                    (let ((#{w 2017}#
+                            (#{syntax-object-wrap 311}# #{x 2008}#)))
                       (begin
-                        (let ((#{ms 2006}# (car #{w 2003}#))
-                              (#{s 2007}# (cdr #{w 2003}#)))
-                          (if (if (pair? #{ms 2006}#)
-                                (eq? (car #{ms 2006}#) #f)
+                        (let ((#{ms 2020}# (car #{w 2017}#))
+                              (#{s 2021}# (cdr #{w 2017}#)))
+                          (if (if (pair? #{ms 2020}#)
+                                (eq? (car #{ms 2020}#) #f)
                                 #f)
-                            (#{make-syntax-object 303}#
-                              (#{syntax-object-expression 307}# #{x 1994}#)
-                              (cons (cdr #{ms 2006}#)
-                                    (if #{rib 1983}#
-                                      (cons #{rib 1983}# (cdr #{s 2007}#))
-                                      (cdr #{s 2007}#)))
-                              (#{syntax-object-module 311}# #{x 1994}#))
-                            (#{make-syntax-object 303}#
-                              (#{decorate-source 259}#
-                                (#{syntax-object-expression 307}# #{x 1994}#)
-                                #{s 2007}#)
-                              (cons (cons #{m 1995}# #{ms 2006}#)
-                                    (if #{rib 1983}#
-                                      (cons #{rib 1983}#
-                                            (cons 'shift #{s 2007}#))
-                                      (cons 'shift #{s 2007}#)))
-                              (#{syntax-object-module 311}# #{x 1994}#)))))))
-                  (if (vector? #{x 1994}#)
+                            (#{make-syntax-object 305}#
+                              (#{syntax-object-expression 309}# #{x 2008}#)
+                              (cons (cdr #{ms 2020}#)
+                                    (if #{rib 1997}#
+                                      (cons #{rib 1997}# (cdr #{s 2021}#))
+                                      (cdr #{s 2021}#)))
+                              (#{syntax-object-module 313}# #{x 2008}#))
+                            (#{make-syntax-object 305}#
+                              (#{decorate-source 260}#
+                                (#{syntax-object-expression 309}# #{x 2008}#)
+                                #{s 2021}#)
+                              (cons (cons #{m 2009}# #{ms 2020}#)
+                                    (if #{rib 1997}#
+                                      (cons #{rib 1997}#
+                                            (cons 'shift #{s 2021}#))
+                                      (cons 'shift #{s 2021}#)))
+                              (#{syntax-object-module 313}# #{x 2008}#)))))))
+                  (if (vector? #{x 2008}#)
                     (begin
-                      (let ((#{n 2019}# (vector-length #{x 1994}#)))
+                      (let ((#{n 2033}# (vector-length #{x 2008}#)))
                         (begin
-                          (let ((#{v 2021}#
-                                  (#{decorate-source 259}#
-                                    (make-vector #{n 2019}#)
-                                    #{x 1994}#)))
+                          (let ((#{v 2035}#
+                                  (#{decorate-source 260}#
+                                    (make-vector #{n 2033}#)
+                                    #{x 2008}#)))
                             (letrec*
-                              ((#{loop 2024}#
-                                 (lambda (#{i 2025}#)
-                                   (if (= #{i 2025}# #{n 2019}#)
-                                     (begin (if #f #f) #{v 2021}#)
+                              ((#{loop 2038}#
+                                 (lambda (#{i 2039}#)
+                                   (if (= #{i 2039}# #{n 2033}#)
+                                     (begin (if #f #f) #{v 2035}#)
                                      (begin
                                        (vector-set!
-                                         #{v 2021}#
-                                         #{i 2025}#
-                                         (#{rebuild-macro-output 1993}#
-                                           (vector-ref #{x 1994}# #{i 2025}#)
-                                           #{m 1995}#))
-                                       (#{loop 2024}# (#{1+}# #{i 2025}#)))))))
-                              (begin (#{loop 2024}# 0)))))))
-                    (if (symbol? #{x 1994}#)
+                                         #{v 2035}#
+                                         #{i 2039}#
+                                         (#{rebuild-macro-output 2007}#
+                                           (vector-ref #{x 2008}# #{i 2039}#)
+                                           #{m 2009}#))
+                                       (#{loop 2038}# (#{1+}# #{i 2039}#)))))))
+                              (begin (#{loop 2038}# 0)))))))
+                    (if (symbol? #{x 2008}#)
                       (syntax-violation
                         #f
                         "encountered raw symbol in macro output"
-                        (#{source-wrap 407}#
-                          #{e 1979}#
-                          #{w 1981}#
-                          (cdr #{w 1981}#)
-                          #{mod 1984}#)
-                        #{x 1994}#)
-                      (#{decorate-source 259}# #{x 1994}# #{s 1982}#))))))))
+                        (#{source-wrap 420}#
+                          #{e 1993}#
+                          #{w 1995}#
+                          (cdr #{w 1995}#)
+                          #{mod 1998}#)
+                        #{x 2008}#)
+                      (#{decorate-source 260}# #{x 2008}# #{s 1996}#))))))))
          (begin
-           (#{rebuild-macro-output 1993}#
-             (#{p 1978}#
-               (#{source-wrap 407}#
-                 #{e 1979}#
-                 (#{anti-mark 377}# #{w 1981}#)
-                 #{s 1982}#
-                 #{mod 1984}#))
+           (#{rebuild-macro-output 2007}#
+             (#{p 1992}#
+               (#{source-wrap 420}#
+                 #{e 1993}#
+                 (#{anti-mark 388}# #{w 1995}#)
+                 #{s 1996}#
+                 #{mod 1998}#))
              (gensym "m"))))))
-   (#{chi-body 427}#
-     (lambda (#{body 2035}#
-              #{outer-form 2036}#
-              #{r 2037}#
-              #{w 2038}#
-              #{mod 2039}#)
+   (#{chi-body 440}#
+     (lambda (#{body 2049}#
+              #{outer-form 2050}#
+              #{r 2051}#
+              #{w 2052}#
+              #{mod 2053}#)
        (begin
-         (let ((#{r 2047}#
-                 (cons '("placeholder" placeholder) #{r 2037}#)))
+         (let ((#{r 2061}#
+                 (cons '("placeholder" placeholder) #{r 2051}#)))
            (begin
-             (let ((#{ribcage 2049}#
-                     (#{make-ribcage 357}# '() '() '())))
+             (let ((#{ribcage 2063}#
+                     (#{make-ribcage 367}# '() '() '())))
                (begin
-                 (let ((#{w 2052}#
-                         (cons (car #{w 2038}#)
-                               (cons #{ribcage 2049}# (cdr #{w 2038}#)))))
+                 (let ((#{w 2066}#
+                         (cons (car #{w 2052}#)
+                               (cons #{ribcage 2063}# (cdr #{w 2052}#)))))
                    (letrec*
-                     ((#{parse 2064}#
-                        (lambda (#{body 2065}#
-                                 #{ids 2066}#
-                                 #{labels 2067}#
-                                 #{var-ids 2068}#
-                                 #{vars 2069}#
-                                 #{vals 2070}#
-                                 #{bindings 2071}#)
-                          (if (null? #{body 2065}#)
+                     ((#{parse 2078}#
+                        (lambda (#{body 2079}#
+                                 #{ids 2080}#
+                                 #{labels 2081}#
+                                 #{var-ids 2082}#
+                                 #{vars 2083}#
+                                 #{vals 2084}#
+                                 #{bindings 2085}#)
+                          (if (null? #{body 2079}#)
                             (syntax-violation
                               #f
                               "no expressions in body"
-                              #{outer-form 2036}#)
+                              #{outer-form 2050}#)
                             (begin
-                              (let ((#{e 2076}# (cdr (car #{body 2065}#)))
-                                    (#{er 2077}# (car (car #{body 2065}#))))
+                              (let ((#{e 2090}# (cdr (car #{body 2079}#)))
+                                    (#{er 2091}# (car (car #{body 2079}#))))
                                 (call-with-values
                                   (lambda ()
-                                    (#{syntax-type 417}#
-                                      #{e 2076}#
-                                      #{er 2077}#
+                                    (#{syntax-type 430}#
+                                      #{e 2090}#
+                                      #{er 2091}#
                                       '(())
-                                      (#{source-annotation 320}# #{er 2077}#)
-                                      #{ribcage 2049}#
-                                      #{mod 2039}#
+                                      (#{source-annotation 322}# #{er 2091}#)
+                                      #{ribcage 2063}#
+                                      #{mod 2053}#
                                       #f))
-                                  (lambda (#{type 2079}#
-                                           #{value 2080}#
-                                           #{e 2081}#
-                                           #{w 2082}#
-                                           #{s 2083}#
-                                           #{mod 2084}#)
-                                    (if (eqv? #{type 2079}# 'define-form)
+                                  (lambda (#{type 2093}#
+                                           #{value 2094}#
+                                           #{e 2095}#
+                                           #{w 2096}#
+                                           #{s 2097}#
+                                           #{mod 2098}#)
+                                    (if (eqv? #{type 2093}# 'define-form)
                                       (begin
-                                        (let ((#{id 2094}#
-                                                (#{wrap 405}#
-                                                  #{value 2080}#
-                                                  #{w 2082}#
-                                                  #{mod 2084}#))
-                                              (#{label 2095}#
-                                                (#{gen-label 352}#)))
+                                        (let ((#{id 2108}#
+                                                (#{wrap 418}#
+                                                  #{value 2094}#
+                                                  #{w 2096}#
+                                                  #{mod 2098}#))
+                                              (#{label 2109}#
+                                                (#{gen-label 362}#)))
                                           (begin
-                                            (let ((#{var 2097}#
-                                                    (#{gen-var 447}#
-                                                      #{id 2094}#)))
+                                            (let ((#{var 2111}#
+                                                    (#{gen-var 460}#
+                                                      #{id 2108}#)))
                                               (begin
-                                                (#{extend-ribcage! 381}#
-                                                  #{ribcage 2049}#
-                                                  #{id 2094}#
-                                                  #{label 2095}#)
-                                                (#{parse 2064}#
-                                                  (cdr #{body 2065}#)
-                                                  (cons #{id 2094}#
-                                                        #{ids 2066}#)
-                                                  (cons #{label 2095}#
-                                                        #{labels 2067}#)
-                                                  (cons #{id 2094}#
-                                                        #{var-ids 2068}#)
-                                                  (cons #{var 2097}#
-                                                        #{vars 2069}#)
-                                                  (cons (cons #{er 2077}#
-                                                              (#{wrap 405}#
-                                                                #{e 2081}#
-                                                                #{w 2082}#
-                                                                #{mod 2084}#))
-                                                        #{vals 2070}#)
+                                                (#{extend-ribcage! 394}#
+                                                  #{ribcage 2063}#
+                                                  #{id 2108}#
+                                                  #{label 2109}#)
+                                                (#{parse 2078}#
+                                                  (cdr #{body 2079}#)
+                                                  (cons #{id 2108}#
+                                                        #{ids 2080}#)
+                                                  (cons #{label 2109}#
+                                                        #{labels 2081}#)
+                                                  (cons #{id 2108}#
+                                                        #{var-ids 2082}#)
+                                                  (cons #{var 2111}#
+                                                        #{vars 2083}#)
+                                                  (cons (cons #{er 2091}#
+                                                              (#{wrap 418}#
+                                                                #{e 2095}#
+                                                                #{w 2096}#
+                                                                #{mod 2098}#))
+                                                        #{vals 2084}#)
                                                   (cons (cons 'lexical
-                                                              #{var 2097}#)
-                                                        #{bindings 
2071}#)))))))
-                                      (if (eqv? #{type 2079}#
+                                                              #{var 2111}#)
+                                                        #{bindings 
2085}#)))))))
+                                      (if (eqv? #{type 2093}#
                                                 'define-syntax-form)
                                         (begin
-                                          (let ((#{id 2102}#
-                                                  (#{wrap 405}#
-                                                    #{value 2080}#
-                                                    #{w 2082}#
-                                                    #{mod 2084}#))
-                                                (#{label 2103}#
-                                                  (#{gen-label 352}#)))
+                                          (let ((#{id 2116}#
+                                                  (#{wrap 418}#
+                                                    #{value 2094}#
+                                                    #{w 2096}#
+                                                    #{mod 2098}#))
+                                                (#{label 2117}#
+                                                  (#{gen-label 362}#)))
                                             (begin
-                                              (#{extend-ribcage! 381}#
-                                                #{ribcage 2049}#
-                                                #{id 2102}#
-                                                #{label 2103}#)
-                                              (#{parse 2064}#
-                                                (cdr #{body 2065}#)
-                                                (cons #{id 2102}# #{ids 2066}#)
-                                                (cons #{label 2103}#
-                                                      #{labels 2067}#)
-                                                #{var-ids 2068}#
-                                                #{vars 2069}#
-                                                #{vals 2070}#
+                                              (#{extend-ribcage! 394}#
+                                                #{ribcage 2063}#
+                                                #{id 2116}#
+                                                #{label 2117}#)
+                                              (#{parse 2078}#
+                                                (cdr #{body 2079}#)
+                                                (cons #{id 2116}# #{ids 2080}#)
+                                                (cons #{label 2117}#
+                                                      #{labels 2081}#)
+                                                #{var-ids 2082}#
+                                                #{vars 2083}#
+                                                #{vals 2084}#
                                                 (cons (cons 'macro
-                                                            (cons #{er 2077}#
-                                                                  (#{wrap 405}#
-                                                                    #{e 2081}#
-                                                                    #{w 2082}#
-                                                                    #{mod 
2084}#)))
-                                                      #{bindings 2071}#)))))
-                                        (if (eqv? #{type 2079}# 'begin-form)
-                                          (let ((#{tmp 2106}# #{e 2081}#))
-                                            (let ((#{tmp 2107}#
+                                                            (cons #{er 2091}#
+                                                                  (#{wrap 418}#
+                                                                    #{e 2095}#
+                                                                    #{w 2096}#
+                                                                    #{mod 
2098}#)))
+                                                      #{bindings 2085}#)))))
+                                        (if (eqv? #{type 2093}# 'begin-form)
+                                          (let ((#{tmp 2120}# #{e 2095}#))
+                                            (let ((#{tmp 2121}#
                                                     ($sc-dispatch
-                                                      #{tmp 2106}#
+                                                      #{tmp 2120}#
                                                       '(_ . each-any))))
-                                              (if #{tmp 2107}#
+                                              (if #{tmp 2121}#
                                                 (@apply
-                                                  (lambda (#{e1 2109}#)
-                                                    (#{parse 2064}#
+                                                  (lambda (#{e1 2123}#)
+                                                    (#{parse 2078}#
                                                       (letrec*
-                                                        ((#{f 2112}#
-                                                           (lambda (#{forms 
2113}#)
-                                                             (if (null? 
#{forms 2113}#)
-                                                               (cdr #{body 
2065}#)
-                                                               (cons (cons 
#{er 2077}#
-                                                                           
(#{wrap 405}#
-                                                                             
(car #{forms 2113}#)
-                                                                             
#{w 2082}#
-                                                                             
#{mod 2084}#))
-                                                                     (#{f 
2112}#
-                                                                       (cdr 
#{forms 2113}#)))))))
+                                                        ((#{f 2126}#
+                                                           (lambda (#{forms 
2127}#)
+                                                             (if (null? 
#{forms 2127}#)
+                                                               (cdr #{body 
2079}#)
+                                                               (cons (cons 
#{er 2091}#
+                                                                           
(#{wrap 418}#
+                                                                             
(car #{forms 2127}#)
+                                                                             
#{w 2096}#
+                                                                             
#{mod 2098}#))
+                                                                     (#{f 
2126}#
+                                                                       (cdr 
#{forms 2127}#)))))))
                                                         (begin
-                                                          (#{f 2112}#
-                                                            #{e1 2109}#)))
-                                                      #{ids 2066}#
-                                                      #{labels 2067}#
-                                                      #{var-ids 2068}#
-                                                      #{vars 2069}#
-                                                      #{vals 2070}#
-                                                      #{bindings 2071}#))
-                                                  #{tmp 2107}#)
+                                                          (#{f 2126}#
+                                                            #{e1 2123}#)))
+                                                      #{ids 2080}#
+                                                      #{labels 2081}#
+                                                      #{var-ids 2082}#
+                                                      #{vars 2083}#
+                                                      #{vals 2084}#
+                                                      #{bindings 2085}#))
+                                                  #{tmp 2121}#)
                                                 (syntax-violation
                                                   #f
                                                   "source expression failed to 
match any pattern"
-                                                  #{tmp 2106}#))))
-                                          (if (eqv? #{type 2079}#
+                                                  #{tmp 2120}#))))
+                                          (if (eqv? #{type 2093}#
                                                     'local-syntax-form)
-                                            (#{chi-local-syntax 429}#
-                                              #{value 2080}#
-                                              #{e 2081}#
-                                              #{er 2077}#
-                                              #{w 2082}#
-                                              #{s 2083}#
-                                              #{mod 2084}#
-                                              (lambda (#{forms 2116}#
-                                                       #{er 2117}#
-                                                       #{w 2118}#
-                                                       #{s 2119}#
-                                                       #{mod 2120}#)
-                                                (#{parse 2064}#
+                                            (#{chi-local-syntax 442}#
+                                              #{value 2094}#
+                                              #{e 2095}#
+                                              #{er 2091}#
+                                              #{w 2096}#
+                                              #{s 2097}#
+                                              #{mod 2098}#
+                                              (lambda (#{forms 2130}#
+                                                       #{er 2131}#
+                                                       #{w 2132}#
+                                                       #{s 2133}#
+                                                       #{mod 2134}#)
+                                                (#{parse 2078}#
                                                   (letrec*
-                                                    ((#{f 2128}#
-                                                       (lambda (#{forms 2129}#)
-                                                         (if (null? #{forms 
2129}#)
-                                                           (cdr #{body 2065}#)
-                                                           (cons (cons #{er 
2117}#
-                                                                       (#{wrap 
405}#
-                                                                         (car 
#{forms 2129}#)
-                                                                         #{w 
2118}#
-                                                                         #{mod 
2120}#))
-                                                                 (#{f 2128}#
-                                                                   (cdr 
#{forms 2129}#)))))))
+                                                    ((#{f 2142}#
+                                                       (lambda (#{forms 2143}#)
+                                                         (if (null? #{forms 
2143}#)
+                                                           (cdr #{body 2079}#)
+                                                           (cons (cons #{er 
2131}#
+                                                                       (#{wrap 
418}#
+                                                                         (car 
#{forms 2143}#)
+                                                                         #{w 
2132}#
+                                                                         #{mod 
2134}#))
+                                                                 (#{f 2142}#
+                                                                   (cdr 
#{forms 2143}#)))))))
                                                     (begin
-                                                      (#{f 2128}#
-                                                        #{forms 2116}#)))
-                                                  #{ids 2066}#
-                                                  #{labels 2067}#
-                                                  #{var-ids 2068}#
-                                                  #{vars 2069}#
-                                                  #{vals 2070}#
-                                                  #{bindings 2071}#)))
-                                            (if (null? #{ids 2066}#)
-                                              (#{build-sequence 293}#
+                                                      (#{f 2142}#
+                                                        #{forms 2130}#)))
+                                                  #{ids 2080}#
+                                                  #{labels 2081}#
+                                                  #{var-ids 2082}#
+                                                  #{vars 2083}#
+                                                  #{vals 2084}#
+                                                  #{bindings 2085}#)))
+                                            (if (null? #{ids 2080}#)
+                                              (#{build-sequence 294}#
                                                 #f
-                                                (map (lambda (#{x 2132}#)
-                                                       (#{chi 419}#
-                                                         (cdr #{x 2132}#)
-                                                         (car #{x 2132}#)
+                                                (map (lambda (#{x 2146}#)
+                                                       (#{chi 432}#
+                                                         (cdr #{x 2146}#)
+                                                         (car #{x 2146}#)
                                                          '(())
-                                                         #{mod 2084}#))
-                                                     (cons (cons #{er 2077}#
-                                                                 
(#{source-wrap 407}#
-                                                                   #{e 2081}#
-                                                                   #{w 2082}#
-                                                                   #{s 2083}#
-                                                                   #{mod 
2084}#))
-                                                           (cdr #{body 
2065}#))))
+                                                         #{mod 2098}#))
+                                                     (cons (cons #{er 2091}#
+                                                                 
(#{source-wrap 420}#
+                                                                   #{e 2095}#
+                                                                   #{w 2096}#
+                                                                   #{s 2097}#
+                                                                   #{mod 
2098}#))
+                                                           (cdr #{body 
2079}#))))
                                               (begin
-                                                (if (not (#{valid-bound-ids? 
399}#
-                                                           #{ids 2066}#))
+                                                (if (not (#{valid-bound-ids? 
412}#
+                                                           #{ids 2080}#))
                                                   (syntax-violation
                                                     #f
                                                     "invalid or duplicate 
identifier in definition"
-                                                    #{outer-form 2036}#))
+                                                    #{outer-form 2050}#))
                                                 (letrec*
-                                                  ((#{loop 2139}#
-                                                     (lambda (#{bs 2140}#
-                                                              #{er-cache 2141}#
-                                                              #{r-cache 2142}#)
-                                                       (if (not (null? #{bs 
2140}#))
+                                                  ((#{loop 2153}#
+                                                     (lambda (#{bs 2154}#
+                                                              #{er-cache 2155}#
+                                                              #{r-cache 2156}#)
+                                                       (if (not (null? #{bs 
2154}#))
                                                          (begin
-                                                           (let ((#{b 2145}#
-                                                                   (car #{bs 
2140}#)))
-                                                             (if (eq? (car #{b 
2145}#)
+                                                           (let ((#{b 2159}#
+                                                                   (car #{bs 
2154}#)))
+                                                             (if (eq? (car #{b 
2159}#)
                                                                       'macro)
                                                                (begin
-                                                                 (let ((#{er 
2148}#
-                                                                         (car 
(cdr #{b 2145}#))))
+                                                                 (let ((#{er 
2162}#
+                                                                         (car 
(cdr #{b 2159}#))))
                                                                    (begin
-                                                                     (let 
((#{r-cache 2150}#
-                                                                             
(if (eq? #{er 2148}#
-                                                                               
       #{er-cache 2141}#)
-                                                                               
#{r-cache 2142}#
-                                                                               
(#{macros-only-env 331}#
-                                                                               
  #{er 2148}#))))
+                                                                     (let 
((#{r-cache 2164}#
+                                                                             
(if (eq? #{er 2162}#
+                                                                               
       #{er-cache 2155}#)
+                                                                               
#{r-cache 2156}#
+                                                                               
(#{macros-only-env 336}#
+                                                                               
  #{er 2162}#))))
                                                                        (begin
                                                                          
(set-cdr!
-                                                                           #{b 
2145}#
-                                                                           
(#{eval-local-transformer 431}#
-                                                                             
(#{chi 419}#
-                                                                               
(cdr (cdr #{b 2145}#))
-                                                                               
#{r-cache 2150}#
+                                                                           #{b 
2159}#
+                                                                           
(#{eval-local-transformer 444}#
+                                                                             
(#{chi 432}#
+                                                                               
(cdr (cdr #{b 2159}#))
+                                                                               
#{r-cache 2164}#
                                                                                
'(())
-                                                                               
#{mod 2084}#)
-                                                                             
#{mod 2084}#))
-                                                                         
(#{loop 2139}#
-                                                                           
(cdr #{bs 2140}#)
-                                                                           
#{er 2148}#
-                                                                           
#{r-cache 2150}#))))))
-                                                               (#{loop 2139}#
-                                                                 (cdr #{bs 
2140}#)
-                                                                 #{er-cache 
2141}#
-                                                                 #{r-cache 
2142}#))))))))
+                                                                               
#{mod 2098}#)
+                                                                             
#{mod 2098}#))
+                                                                         
(#{loop 2153}#
+                                                                           
(cdr #{bs 2154}#)
+                                                                           
#{er 2162}#
+                                                                           
#{r-cache 2164}#))))))
+                                                               (#{loop 2153}#
+                                                                 (cdr #{bs 
2154}#)
+                                                                 #{er-cache 
2155}#
+                                                                 #{r-cache 
2156}#))))))))
                                                   (begin
-                                                    (#{loop 2139}#
-                                                      #{bindings 2071}#
+                                                    (#{loop 2153}#
+                                                      #{bindings 2085}#
                                                       #f
                                                       #f)))
                                                 (set-cdr!
-                                                  #{r 2047}#
-                                                  (#{extend-env 327}#
-                                                    #{labels 2067}#
-                                                    #{bindings 2071}#
-                                                    (cdr #{r 2047}#)))
-                                                (#{build-letrec 299}#
+                                                  #{r 2061}#
+                                                  (#{extend-env 332}#
+                                                    #{labels 2081}#
+                                                    #{bindings 2085}#
+                                                    (cdr #{r 2061}#)))
+                                                (#{build-letrec 300}#
                                                   #f
                                                   #t
                                                   (reverse
                                                     (map syntax->datum
-                                                         #{var-ids 2068}#))
-                                                  (reverse #{vars 2069}#)
-                                                  (map (lambda (#{x 2153}#)
-                                                         (#{chi 419}#
-                                                           (cdr #{x 2153}#)
-                                                           (car #{x 2153}#)
+                                                         #{var-ids 2082}#))
+                                                  (reverse #{vars 2083}#)
+                                                  (map (lambda (#{x 2167}#)
+                                                         (#{chi 432}#
+                                                           (cdr #{x 2167}#)
+                                                           (car #{x 2167}#)
                                                            '(())
-                                                           #{mod 2084}#))
-                                                       (reverse #{vals 2070}#))
-                                                  (#{build-sequence 293}#
+                                                           #{mod 2098}#))
+                                                       (reverse #{vals 2084}#))
+                                                  (#{build-sequence 294}#
                                                     #f
-                                                    (map (lambda (#{x 2157}#)
-                                                           (#{chi 419}#
-                                                             (cdr #{x 2157}#)
-                                                             (car #{x 2157}#)
+                                                    (map (lambda (#{x 2171}#)
+                                                           (#{chi 432}#
+                                                             (cdr #{x 2171}#)
+                                                             (car #{x 2171}#)
                                                              '(())
-                                                             #{mod 2084}#))
-                                                         (cons (cons #{er 
2077}#
-                                                                     
(#{source-wrap 407}#
-                                                                       #{e 
2081}#
-                                                                       #{w 
2082}#
-                                                                       #{s 
2083}#
-                                                                       #{mod 
2084}#))
-                                                               (cdr #{body 
2065}#)))))))))))))))))))
+                                                             #{mod 2098}#))
+                                                         (cons (cons #{er 
2091}#
+                                                                     
(#{source-wrap 420}#
+                                                                       #{e 
2095}#
+                                                                       #{w 
2096}#
+                                                                       #{s 
2097}#
+                                                                       #{mod 
2098}#))
+                                                               (cdr #{body 
2079}#)))))))))))))))))))
                      (begin
-                       (#{parse 2064}#
-                         (map (lambda (#{x 2072}#)
-                                (cons #{r 2047}#
-                                      (#{wrap 405}#
-                                        #{x 2072}#
-                                        #{w 2052}#
-                                        #{mod 2039}#)))
-                              #{body 2035}#)
+                       (#{parse 2078}#
+                         (map (lambda (#{x 2086}#)
+                                (cons #{r 2061}#
+                                      (#{wrap 418}#
+                                        #{x 2086}#
+                                        #{w 2066}#
+                                        #{mod 2053}#)))
+                              #{body 2049}#)
                          '()
                          '()
                          '()
                          '()
                          '()
                          '())))))))))))
-   (#{chi-local-syntax 429}#
-     (lambda (#{rec? 2160}#
-              #{e 2161}#
-              #{r 2162}#
-              #{w 2163}#
-              #{s 2164}#
-              #{mod 2165}#
-              #{k 2166}#)
-       (let ((#{tmp 2174}# #{e 2161}#))
-         (let ((#{tmp 2175}#
+   (#{chi-local-syntax 442}#
+     (lambda (#{rec? 2174}#
+              #{e 2175}#
+              #{r 2176}#
+              #{w 2177}#
+              #{s 2178}#
+              #{mod 2179}#
+              #{k 2180}#)
+       (let ((#{tmp 2188}# #{e 2175}#))
+         (let ((#{tmp 2189}#
                  ($sc-dispatch
-                   #{tmp 2174}#
+                   #{tmp 2188}#
                    '(_ #(each (any any)) any . each-any))))
-           (if #{tmp 2175}#
+           (if #{tmp 2189}#
              (@apply
-               (lambda (#{id 2180}#
-                        #{val 2181}#
-                        #{e1 2182}#
-                        #{e2 2183}#)
+               (lambda (#{id 2194}#
+                        #{val 2195}#
+                        #{e1 2196}#
+                        #{e2 2197}#)
                  (begin
-                   (let ((#{ids 2185}# #{id 2180}#))
-                     (if (not (#{valid-bound-ids? 399}# #{ids 2185}#))
+                   (let ((#{ids 2199}# #{id 2194}#))
+                     (if (not (#{valid-bound-ids? 412}# #{ids 2199}#))
                        (syntax-violation
                          #f
                          "duplicate bound keyword"
-                         #{e 2161}#)
+                         #{e 2175}#)
                        (begin
-                         (let ((#{labels 2188}#
-                                 (#{gen-labels 354}# #{ids 2185}#)))
+                         (let ((#{labels 2202}#
+                                 (#{gen-labels 364}# #{ids 2199}#)))
                            (begin
-                             (let ((#{new-w 2190}#
-                                     (#{make-binding-wrap 383}#
-                                       #{ids 2185}#
-                                       #{labels 2188}#
-                                       #{w 2163}#)))
-                               (#{k 2166}#
-                                 (cons #{e1 2182}# #{e2 2183}#)
-                                 (#{extend-env 327}#
-                                   #{labels 2188}#
+                             (let ((#{new-w 2204}#
+                                     (#{make-binding-wrap 396}#
+                                       #{ids 2199}#
+                                       #{labels 2202}#
+                                       #{w 2177}#)))
+                               (#{k 2180}#
+                                 (cons #{e1 2196}# #{e2 2197}#)
+                                 (#{extend-env 332}#
+                                   #{labels 2202}#
                                    (begin
-                                     (let ((#{w 2194}#
-                                             (if #{rec? 2160}#
-                                               #{new-w 2190}#
-                                               #{w 2163}#))
-                                           (#{trans-r 2195}#
-                                             (#{macros-only-env 331}#
-                                               #{r 2162}#)))
-                                       (map (lambda (#{x 2196}#)
+                                     (let ((#{w 2208}#
+                                             (if #{rec? 2174}#
+                                               #{new-w 2204}#
+                                               #{w 2177}#))
+                                           (#{trans-r 2209}#
+                                             (#{macros-only-env 336}#
+                                               #{r 2176}#)))
+                                       (map (lambda (#{x 2210}#)
                                               (cons 'macro
-                                                    (#{eval-local-transformer 
431}#
-                                                      (#{chi 419}#
-                                                        #{x 2196}#
-                                                        #{trans-r 2195}#
-                                                        #{w 2194}#
-                                                        #{mod 2165}#)
-                                                      #{mod 2165}#)))
-                                            #{val 2181}#)))
-                                   #{r 2162}#)
-                                 #{new-w 2190}#
-                                 #{s 2164}#
-                                 #{mod 2165}#)))))))))
-               #{tmp 2175}#)
-             (let ((#{_ 2201}# #{tmp 2174}#))
+                                                    (#{eval-local-transformer 
444}#
+                                                      (#{chi 432}#
+                                                        #{x 2210}#
+                                                        #{trans-r 2209}#
+                                                        #{w 2208}#
+                                                        #{mod 2179}#)
+                                                      #{mod 2179}#)))
+                                            #{val 2195}#)))
+                                   #{r 2176}#)
+                                 #{new-w 2204}#
+                                 #{s 2178}#
+                                 #{mod 2179}#)))))))))
+               #{tmp 2189}#)
+             (let ((#{_ 2215}# #{tmp 2188}#))
                (syntax-violation
                  #f
                  "bad local syntax definition"
-                 (#{source-wrap 407}#
-                   #{e 2161}#
-                   #{w 2163}#
-                   #{s 2164}#
-                   #{mod 2165}#))))))))
-   (#{eval-local-transformer 431}#
-     (lambda (#{expanded 2202}# #{mod 2203}#)
+                 (#{source-wrap 420}#
+                   #{e 2175}#
+                   #{w 2177}#
+                   #{s 2178}#
+                   #{mod 2179}#))))))))
+   (#{eval-local-transformer 444}#
+     (lambda (#{expanded 2216}# #{mod 2217}#)
        (begin
-         (let ((#{p 2207}#
+         (let ((#{p 2221}#
                  (#{local-eval-hook 252}#
-                   #{expanded 2202}#
-                   #{mod 2203}#)))
-           (if (procedure? #{p 2207}#)
-             #{p 2207}#
+                   #{expanded 2216}#
+                   #{mod 2217}#)))
+           (if (procedure? #{p 2221}#)
+             #{p 2221}#
              (syntax-violation
                #f
                "nonprocedure transformer"
-               #{p 2207}#))))))
-   (#{chi-void 433}#
-     (lambda () (#{build-void 263}# #f)))
-   (#{ellipsis? 435}#
-     (lambda (#{x 2209}#)
-       (if (#{nonsymbol-id? 337}# #{x 2209}#)
-         (#{free-id=? 395}#
-           #{x 2209}#
+               #{p 2221}#))))))
+   (#{chi-void 446}#
+     (lambda () (#{build-void 264}# #f)))
+   (#{ellipsis? 448}#
+     (lambda (#{x 2223}#)
+       (if (#{nonsymbol-id? 342}# #{x 2223}#)
+         (#{free-id=? 408}#
+           #{x 2223}#
            '#(syntax-object
               ...
               ((top)
                #(ribcage () () ())
                #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2210"))
+               #(ribcage #(x) #((top)) #("i2224"))
                #(ribcage
                  (lambda-var-list
                    gen-var
@@ -6597,81 +6597,82 @@
                   (top)
                   (top)
                   (top))
-                 ("i448"
-                  "i446"
-                  "i444"
-                  "i442"
-                  "i440"
-                  "i438"
-                  "i436"
-                  "i434"
-                  "i432"
-                  "i430"
-                  "i428"
-                  "i426"
-                  "i424"
-                  "i422"
-                  "i420"
-                  "i418"
-                  "i416"
-                  "i414"
-                  "i412"
-                  "i410"
-                  "i408"
-                  "i406"
-                  "i404"
-                  "i402"
-                  "i400"
-                  "i398"
-                  "i396"
-                  "i394"
+                 ("i461"
+                  "i459"
+                  "i457"
+                  "i455"
+                  "i453"
+                  "i451"
+                  "i449"
+                  "i447"
+                  "i445"
+                  "i443"
+                  "i441"
+                  "i439"
+                  "i437"
+                  "i435"
+                  "i433"
+                  "i431"
+                  "i429"
+                  "i427"
+                  "i425"
+                  "i423"
+                  "i421"
+                  "i419"
+                  "i417"
+                  "i415"
+                  "i413"
+                  "i411"
+                  "i409"
+                  "i407"
+                  "i405"
+                  "i403"
+                  "i401"
+                  "i399"
+                  "i397"
+                  "i395"
+                  "i393"
                   "i392"
                   "i390"
-                  "i388"
+                  "i387"
                   "i386"
-                  "i384"
+                  "i385"
+                  "i383"
                   "i382"
                   "i380"
-                  "i379"
                   "i378"
                   "i376"
-                  "i375"
                   "i374"
-                  "i373"
                   "i372"
                   "i370"
                   "i368"
                   "i366"
-                  "i364"
-                  "i362"
+                  "i363"
+                  "i361"
                   "i360"
                   "i358"
                   "i356"
-                  "i353"
+                  "i354"
+                  "i352"
                   "i351"
                   "i350"
                   "i349"
-                  "i348"
                   "i347"
                   "i346"
-                  "i345"
-                  "i344"
                   "i343"
                   "i341"
-                  "i340"
-                  "i338"
-                  "i336"
-                  "i334"
-                  "i332"
+                  "i339"
+                  "i337"
+                  "i335"
+                  "i333"
+                  "i331"
                   "i330"
-                  "i328"
-                  "i326"
+                  "i329"
+                  "i327"
                   "i325"
                   "i324"
-                  "i323"
-                  "i322"
                   "i321"
-                  "i319"
+                  "i320"
                   "i318"
                   "i316"
                   "i314"
@@ -6681,31 +6682,30 @@
                   "i306"
                   "i304"
                   "i302"
-                  "i300"
-                  "i298"
-                  "i296"
-                  "i294"
-                  "i292"
-                  "i290"
-                  "i288"
-                  "i286"
-                  "i284"
-                  "i282"
-                  "i280"
-                  "i278"
-                  "i276"
-                  "i274"
-                  "i272"
-                  "i270"
-                  "i268"
-                  "i266"
-                  "i264"
-                  "i262"
-                  "i260"
-                  "i258"
-                  "i256"
+                  "i299"
+                  "i297"
+                  "i295"
+                  "i293"
+                  "i291"
+                  "i289"
+                  "i287"
+                  "i285"
+                  "i283"
+                  "i281"
+                  "i279"
+                  "i277"
+                  "i275"
+                  "i273"
+                  "i271"
+                  "i269"
+                  "i267"
+                  "i265"
+                  "i263"
+                  "i261"
+                  "i259"
+                  "i257"
+                  "i255"
                   "i254"
-                  "i253"
                   "i251"
                   "i249"
                   "i248"
@@ -6741,249 +6741,249 @@
                  ("i40" "i39" "i38")))
               (hygiene guile)))
          #f)))
-   (#{lambda-formals 437}#
-     (lambda (#{orig-args 2213}#)
+   (#{lambda-formals 450}#
+     (lambda (#{orig-args 2227}#)
        (letrec*
-         ((#{req 2216}#
-            (lambda (#{args 2219}# #{rreq 2220}#)
-              (let ((#{tmp 2223}# #{args 2219}#))
-                (let ((#{tmp 2224}# ($sc-dispatch #{tmp 2223}# '())))
-                  (if #{tmp 2224}#
+         ((#{req 2230}#
+            (lambda (#{args 2233}# #{rreq 2234}#)
+              (let ((#{tmp 2237}# #{args 2233}#))
+                (let ((#{tmp 2238}# ($sc-dispatch #{tmp 2237}# '())))
+                  (if #{tmp 2238}#
                     (@apply
                       (lambda ()
-                        (#{check 2218}# (reverse #{rreq 2220}#) #f))
-                      #{tmp 2224}#)
-                    (let ((#{tmp 2225}#
-                            ($sc-dispatch #{tmp 2223}# '(any . any))))
-                      (if (if #{tmp 2225}#
+                        (#{check 2232}# (reverse #{rreq 2234}#) #f))
+                      #{tmp 2238}#)
+                    (let ((#{tmp 2239}#
+                            ($sc-dispatch #{tmp 2237}# '(any . any))))
+                      (if (if #{tmp 2239}#
                             (@apply
-                              (lambda (#{a 2228}# #{b 2229}#)
-                                (#{id? 339}# #{a 2228}#))
-                              #{tmp 2225}#)
+                              (lambda (#{a 2242}# #{b 2243}#)
+                                (#{id? 344}# #{a 2242}#))
+                              #{tmp 2239}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2232}# #{b 2233}#)
-                            (#{req 2216}#
-                              #{b 2233}#
-                              (cons #{a 2232}# #{rreq 2220}#)))
-                          #{tmp 2225}#)
-                        (let ((#{tmp 2234}# (list #{tmp 2223}#)))
-                          (if (if #{tmp 2234}#
+                          (lambda (#{a 2246}# #{b 2247}#)
+                            (#{req 2230}#
+                              #{b 2247}#
+                              (cons #{a 2246}# #{rreq 2234}#)))
+                          #{tmp 2239}#)
+                        (let ((#{tmp 2248}# (list #{tmp 2237}#)))
+                          (if (if #{tmp 2248}#
                                 (@apply
-                                  (lambda (#{r 2236}#)
-                                    (#{id? 339}# #{r 2236}#))
-                                  #{tmp 2234}#)
+                                  (lambda (#{r 2250}#)
+                                    (#{id? 344}# #{r 2250}#))
+                                  #{tmp 2248}#)
                                 #f)
                             (@apply
-                              (lambda (#{r 2238}#)
-                                (#{check 2218}#
-                                  (reverse #{rreq 2220}#)
-                                  #{r 2238}#))
-                              #{tmp 2234}#)
-                            (let ((#{else 2240}# #{tmp 2223}#))
+                              (lambda (#{r 2252}#)
+                                (#{check 2232}#
+                                  (reverse #{rreq 2234}#)
+                                  #{r 2252}#))
+                              #{tmp 2248}#)
+                            (let ((#{else 2254}# #{tmp 2237}#))
                               (syntax-violation
                                 'lambda
                                 "invalid argument list"
-                                #{orig-args 2213}#
-                                #{args 2219}#)))))))))))
-          (#{check 2218}#
-            (lambda (#{req 2241}# #{rest 2242}#)
-              (if (#{distinct-bound-ids? 401}#
-                    (if #{rest 2242}#
-                      (cons #{rest 2242}# #{req 2241}#)
-                      #{req 2241}#))
-                (values #{req 2241}# #f #{rest 2242}# #f)
+                                #{orig-args 2227}#
+                                #{args 2233}#)))))))))))
+          (#{check 2232}#
+            (lambda (#{req 2255}# #{rest 2256}#)
+              (if (#{distinct-bound-ids? 414}#
+                    (if #{rest 2256}#
+                      (cons #{rest 2256}# #{req 2255}#)
+                      #{req 2255}#))
+                (values #{req 2255}# #f #{rest 2256}# #f)
                 (syntax-violation
                   'lambda
                   "duplicate identifier in argument list"
-                  #{orig-args 2213}#)))))
-         (begin (#{req 2216}# #{orig-args 2213}# '())))))
-   (#{chi-simple-lambda 439}#
-     (lambda (#{e 2248}#
-              #{r 2249}#
-              #{w 2250}#
-              #{s 2251}#
-              #{mod 2252}#
-              #{req 2253}#
-              #{rest 2254}#
-              #{meta 2255}#
-              #{body 2256}#)
+                  #{orig-args 2227}#)))))
+         (begin (#{req 2230}# #{orig-args 2227}# '())))))
+   (#{chi-simple-lambda 452}#
+     (lambda (#{e 2262}#
+              #{r 2263}#
+              #{w 2264}#
+              #{s 2265}#
+              #{mod 2266}#
+              #{req 2267}#
+              #{rest 2268}#
+              #{meta 2269}#
+              #{body 2270}#)
        (begin
-         (let ((#{ids 2268}#
-                 (if #{rest 2254}#
-                   (append #{req 2253}# (list #{rest 2254}#))
-                   #{req 2253}#)))
+         (let ((#{ids 2282}#
+                 (if #{rest 2268}#
+                   (append #{req 2267}# (list #{rest 2268}#))
+                   #{req 2267}#)))
            (begin
-             (let ((#{vars 2270}#
-                     (map #{gen-var 447}# #{ids 2268}#)))
+             (let ((#{vars 2284}#
+                     (map #{gen-var 460}# #{ids 2282}#)))
                (begin
-                 (let ((#{labels 2272}#
-                         (#{gen-labels 354}# #{ids 2268}#)))
-                   (#{build-simple-lambda 283}#
-                     #{s 2251}#
-                     (map syntax->datum #{req 2253}#)
-                     (if #{rest 2254}#
-                       (syntax->datum #{rest 2254}#)
+                 (let ((#{labels 2286}#
+                         (#{gen-labels 364}# #{ids 2282}#)))
+                   (#{build-simple-lambda 284}#
+                     #{s 2265}#
+                     (map syntax->datum #{req 2267}#)
+                     (if #{rest 2268}#
+                       (syntax->datum #{rest 2268}#)
                        #f)
-                     #{vars 2270}#
-                     #{meta 2255}#
-                     (#{chi-body 427}#
-                       #{body 2256}#
-                       (#{source-wrap 407}#
-                         #{e 2248}#
-                         #{w 2250}#
-                         #{s 2251}#
-                         #{mod 2252}#)
-                       (#{extend-var-env 329}#
-                         #{labels 2272}#
-                         #{vars 2270}#
-                         #{r 2249}#)
-                       (#{make-binding-wrap 383}#
-                         #{ids 2268}#
-                         #{labels 2272}#
-                         #{w 2250}#)
-                       #{mod 2252}#))))))))))
-   (#{lambda*-formals 441}#
-     (lambda (#{orig-args 2275}#)
+                     #{vars 2284}#
+                     #{meta 2269}#
+                     (#{chi-body 440}#
+                       #{body 2270}#
+                       (#{source-wrap 420}#
+                         #{e 2262}#
+                         #{w 2264}#
+                         #{s 2265}#
+                         #{mod 2266}#)
+                       (#{extend-var-env 334}#
+                         #{labels 2286}#
+                         #{vars 2284}#
+                         #{r 2263}#)
+                       (#{make-binding-wrap 396}#
+                         #{ids 2282}#
+                         #{labels 2286}#
+                         #{w 2264}#)
+                       #{mod 2266}#))))))))))
+   (#{lambda*-formals 454}#
+     (lambda (#{orig-args 2289}#)
        (letrec*
-         ((#{req 2278}#
-            (lambda (#{args 2287}# #{rreq 2288}#)
-              (let ((#{tmp 2291}# #{args 2287}#))
-                (let ((#{tmp 2292}# ($sc-dispatch #{tmp 2291}# '())))
-                  (if #{tmp 2292}#
+         ((#{req 2292}#
+            (lambda (#{args 2301}# #{rreq 2302}#)
+              (let ((#{tmp 2305}# #{args 2301}#))
+                (let ((#{tmp 2306}# ($sc-dispatch #{tmp 2305}# '())))
+                  (if #{tmp 2306}#
                     (@apply
                       (lambda ()
-                        (#{check 2286}#
-                          (reverse #{rreq 2288}#)
+                        (#{check 2300}#
+                          (reverse #{rreq 2302}#)
                           '()
                           #f
                           '()))
-                      #{tmp 2292}#)
-                    (let ((#{tmp 2293}#
-                            ($sc-dispatch #{tmp 2291}# '(any . any))))
-                      (if (if #{tmp 2293}#
+                      #{tmp 2306}#)
+                    (let ((#{tmp 2307}#
+                            ($sc-dispatch #{tmp 2305}# '(any . any))))
+                      (if (if #{tmp 2307}#
                             (@apply
-                              (lambda (#{a 2296}# #{b 2297}#)
-                                (#{id? 339}# #{a 2296}#))
-                              #{tmp 2293}#)
+                              (lambda (#{a 2310}# #{b 2311}#)
+                                (#{id? 344}# #{a 2310}#))
+                              #{tmp 2307}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2300}# #{b 2301}#)
-                            (#{req 2278}#
-                              #{b 2301}#
-                              (cons #{a 2300}# #{rreq 2288}#)))
-                          #{tmp 2293}#)
-                        (let ((#{tmp 2302}#
-                                ($sc-dispatch #{tmp 2291}# '(any . any))))
-                          (if (if #{tmp 2302}#
+                          (lambda (#{a 2314}# #{b 2315}#)
+                            (#{req 2292}#
+                              #{b 2315}#
+                              (cons #{a 2314}# #{rreq 2302}#)))
+                          #{tmp 2307}#)
+                        (let ((#{tmp 2316}#
+                                ($sc-dispatch #{tmp 2305}# '(any . any))))
+                          (if (if #{tmp 2316}#
                                 (@apply
-                                  (lambda (#{a 2305}# #{b 2306}#)
-                                    (eq? (syntax->datum #{a 2305}#)
+                                  (lambda (#{a 2319}# #{b 2320}#)
+                                    (eq? (syntax->datum #{a 2319}#)
                                          #:optional))
-                                  #{tmp 2302}#)
+                                  #{tmp 2316}#)
                                 #f)
                             (@apply
-                              (lambda (#{a 2309}# #{b 2310}#)
-                                (#{opt 2280}#
-                                  #{b 2310}#
-                                  (reverse #{rreq 2288}#)
+                              (lambda (#{a 2323}# #{b 2324}#)
+                                (#{opt 2294}#
+                                  #{b 2324}#
+                                  (reverse #{rreq 2302}#)
                                   '()))
-                              #{tmp 2302}#)
-                            (let ((#{tmp 2311}#
-                                    ($sc-dispatch #{tmp 2291}# '(any . any))))
-                              (if (if #{tmp 2311}#
+                              #{tmp 2316}#)
+                            (let ((#{tmp 2325}#
+                                    ($sc-dispatch #{tmp 2305}# '(any . any))))
+                              (if (if #{tmp 2325}#
                                     (@apply
-                                      (lambda (#{a 2314}# #{b 2315}#)
-                                        (eq? (syntax->datum #{a 2314}#) #:key))
-                                      #{tmp 2311}#)
+                                      (lambda (#{a 2328}# #{b 2329}#)
+                                        (eq? (syntax->datum #{a 2328}#) #:key))
+                                      #{tmp 2325}#)
                                     #f)
                                 (@apply
-                                  (lambda (#{a 2318}# #{b 2319}#)
-                                    (#{key 2282}#
-                                      #{b 2319}#
-                                      (reverse #{rreq 2288}#)
+                                  (lambda (#{a 2332}# #{b 2333}#)
+                                    (#{key 2296}#
+                                      #{b 2333}#
+                                      (reverse #{rreq 2302}#)
                                       '()
                                       '()))
-                                  #{tmp 2311}#)
-                                (let ((#{tmp 2320}#
+                                  #{tmp 2325}#)
+                                (let ((#{tmp 2334}#
                                         ($sc-dispatch
-                                          #{tmp 2291}#
+                                          #{tmp 2305}#
                                           '(any any))))
-                                  (if (if #{tmp 2320}#
+                                  (if (if #{tmp 2334}#
                                         (@apply
-                                          (lambda (#{a 2323}# #{b 2324}#)
-                                            (eq? (syntax->datum #{a 2323}#)
+                                          (lambda (#{a 2337}# #{b 2338}#)
+                                            (eq? (syntax->datum #{a 2337}#)
                                                  #:rest))
-                                          #{tmp 2320}#)
+                                          #{tmp 2334}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{a 2327}# #{b 2328}#)
-                                        (#{rest 2284}#
-                                          #{b 2328}#
-                                          (reverse #{rreq 2288}#)
+                                      (lambda (#{a 2341}# #{b 2342}#)
+                                        (#{rest 2298}#
+                                          #{b 2342}#
+                                          (reverse #{rreq 2302}#)
                                           '()
                                           '()))
-                                      #{tmp 2320}#)
-                                    (let ((#{tmp 2329}# (list #{tmp 2291}#)))
-                                      (if (if #{tmp 2329}#
+                                      #{tmp 2334}#)
+                                    (let ((#{tmp 2343}# (list #{tmp 2305}#)))
+                                      (if (if #{tmp 2343}#
                                             (@apply
-                                              (lambda (#{r 2331}#)
-                                                (#{id? 339}# #{r 2331}#))
-                                              #{tmp 2329}#)
+                                              (lambda (#{r 2345}#)
+                                                (#{id? 344}# #{r 2345}#))
+                                              #{tmp 2343}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{r 2333}#)
-                                            (#{rest 2284}#
-                                              #{r 2333}#
-                                              (reverse #{rreq 2288}#)
+                                          (lambda (#{r 2347}#)
+                                            (#{rest 2298}#
+                                              #{r 2347}#
+                                              (reverse #{rreq 2302}#)
                                               '()
                                               '()))
-                                          #{tmp 2329}#)
-                                        (let ((#{else 2335}# #{tmp 2291}#))
+                                          #{tmp 2343}#)
+                                        (let ((#{else 2349}# #{tmp 2305}#))
                                           (syntax-violation
                                             'lambda*
                                             "invalid argument list"
-                                            #{orig-args 2275}#
-                                            #{args 2287}#)))))))))))))))))
-          (#{opt 2280}#
-            (lambda (#{args 2336}# #{req 2337}# #{ropt 2338}#)
-              (let ((#{tmp 2342}# #{args 2336}#))
-                (let ((#{tmp 2343}# ($sc-dispatch #{tmp 2342}# '())))
-                  (if #{tmp 2343}#
+                                            #{orig-args 2289}#
+                                            #{args 2301}#)))))))))))))))))
+          (#{opt 2294}#
+            (lambda (#{args 2350}# #{req 2351}# #{ropt 2352}#)
+              (let ((#{tmp 2356}# #{args 2350}#))
+                (let ((#{tmp 2357}# ($sc-dispatch #{tmp 2356}# '())))
+                  (if #{tmp 2357}#
                     (@apply
                       (lambda ()
-                        (#{check 2286}#
-                          #{req 2337}#
-                          (reverse #{ropt 2338}#)
+                        (#{check 2300}#
+                          #{req 2351}#
+                          (reverse #{ropt 2352}#)
                           #f
                           '()))
-                      #{tmp 2343}#)
-                    (let ((#{tmp 2344}#
-                            ($sc-dispatch #{tmp 2342}# '(any . any))))
-                      (if (if #{tmp 2344}#
+                      #{tmp 2357}#)
+                    (let ((#{tmp 2358}#
+                            ($sc-dispatch #{tmp 2356}# '(any . any))))
+                      (if (if #{tmp 2358}#
                             (@apply
-                              (lambda (#{a 2347}# #{b 2348}#)
-                                (#{id? 339}# #{a 2347}#))
-                              #{tmp 2344}#)
+                              (lambda (#{a 2361}# #{b 2362}#)
+                                (#{id? 344}# #{a 2361}#))
+                              #{tmp 2358}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2351}# #{b 2352}#)
-                            (#{opt 2280}#
-                              #{b 2352}#
-                              #{req 2337}#
-                              (cons (cons #{a 2351}#
+                          (lambda (#{a 2365}# #{b 2366}#)
+                            (#{opt 2294}#
+                              #{b 2366}#
+                              #{req 2351}#
+                              (cons (cons #{a 2365}#
                                           '(#(syntax-object
                                               #f
                                               ((top)
                                                #(ribcage
                                                  #(a b)
                                                  #((top) (top))
-                                                 #("i2349" "i2350"))
+                                                 #("i2363" "i2364"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(args req ropt)
                                                  #((top) (top) (top))
-                                                 #("i2339" "i2340" "i2341"))
+                                                 #("i2353" "i2354" "i2355"))
                                                #(ribcage
                                                  (check rest key opt req)
                                                  ((top)
@@ -6991,15 +6991,15 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i2285"
-                                                  "i2283"
-                                                  "i2281"
-                                                  "i2279"
-                                                  "i2277"))
+                                                 ("i2299"
+                                                  "i2297"
+                                                  "i2295"
+                                                  "i2293"
+                                                  "i2291"))
                                                #(ribcage
                                                  #(orig-args)
                                                  #((top))
-                                                 #("i2276"))
+                                                 #("i2290"))
                                                #(ribcage
                                                  (lambda-var-list
                                                    gen-var
@@ -7273,81 +7273,82 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i448"
-                                                  "i446"
-                                                  "i444"
-                                                  "i442"
-                                                  "i440"
-                                                  "i438"
-                                                  "i436"
-                                                  "i434"
-                                                  "i432"
-                                                  "i430"
-                                                  "i428"
-                                                  "i426"
-                                                  "i424"
-                                                  "i422"
-                                                  "i420"
-                                                  "i418"
-                                                  "i416"
-                                                  "i414"
-                                                  "i412"
-                                                  "i410"
-                                                  "i408"
-                                                  "i406"
-                                                  "i404"
-                                                  "i402"
-                                                  "i400"
-                                                  "i398"
-                                                  "i396"
-                                                  "i394"
+                                                 ("i461"
+                                                  "i459"
+                                                  "i457"
+                                                  "i455"
+                                                  "i453"
+                                                  "i451"
+                                                  "i449"
+                                                  "i447"
+                                                  "i445"
+                                                  "i443"
+                                                  "i441"
+                                                  "i439"
+                                                  "i437"
+                                                  "i435"
+                                                  "i433"
+                                                  "i431"
+                                                  "i429"
+                                                  "i427"
+                                                  "i425"
+                                                  "i423"
+                                                  "i421"
+                                                  "i419"
+                                                  "i417"
+                                                  "i415"
+                                                  "i413"
+                                                  "i411"
+                                                  "i409"
+                                                  "i407"
+                                                  "i405"
+                                                  "i403"
+                                                  "i401"
+                                                  "i399"
+                                                  "i397"
+                                                  "i395"
+                                                  "i393"
                                                   "i392"
                                                   "i390"
-                                                  "i388"
+                                                  "i387"
                                                   "i386"
-                                                  "i384"
+                                                  "i385"
+                                                  "i383"
                                                   "i382"
                                                   "i380"
-                                                  "i379"
                                                   "i378"
                                                   "i376"
-                                                  "i375"
                                                   "i374"
-                                                  "i373"
                                                   "i372"
                                                   "i370"
                                                   "i368"
                                                   "i366"
-                                                  "i364"
-                                                  "i362"
+                                                  "i363"
+                                                  "i361"
                                                   "i360"
                                                   "i358"
                                                   "i356"
-                                                  "i353"
+                                                  "i354"
+                                                  "i352"
                                                   "i351"
                                                   "i350"
                                                   "i349"
-                                                  "i348"
                                                   "i347"
                                                   "i346"
-                                                  "i345"
-                                                  "i344"
                                                   "i343"
                                                   "i341"
-                                                  "i340"
-                                                  "i338"
-                                                  "i336"
-                                                  "i334"
-                                                  "i332"
+                                                  "i339"
+                                                  "i337"
+                                                  "i335"
+                                                  "i333"
+                                                  "i331"
                                                   "i330"
-                                                  "i328"
-                                                  "i326"
+                                                  "i329"
+                                                  "i327"
                                                   "i325"
                                                   "i324"
-                                                  "i323"
-                                                  "i322"
                                                   "i321"
-                                                  "i319"
+                                                  "i320"
                                                   "i318"
                                                   "i316"
                                                   "i314"
@@ -7357,31 +7358,30 @@
                                                   "i306"
                                                   "i304"
                                                   "i302"
-                                                  "i300"
-                                                  "i298"
-                                                  "i296"
-                                                  "i294"
-                                                  "i292"
-                                                  "i290"
-                                                  "i288"
-                                                  "i286"
-                                                  "i284"
-                                                  "i282"
-                                                  "i280"
-                                                  "i278"
-                                                  "i276"
-                                                  "i274"
-                                                  "i272"
-                                                  "i270"
-                                                  "i268"
-                                                  "i266"
-                                                  "i264"
-                                                  "i262"
-                                                  "i260"
-                                                  "i258"
-                                                  "i256"
+                                                  "i299"
+                                                  "i297"
+                                                  "i295"
+                                                  "i293"
+                                                  "i291"
+                                                  "i289"
+                                                  "i287"
+                                                  "i285"
+                                                  "i283"
+                                                  "i281"
+                                                  "i279"
+                                                  "i277"
+                                                  "i275"
+                                                  "i273"
+                                                  "i271"
+                                                  "i269"
+                                                  "i267"
+                                                  "i265"
+                                                  "i263"
+                                                  "i261"
+                                                  "i259"
+                                                  "i257"
+                                                  "i255"
                                                   "i254"
-                                                  "i253"
                                                   "i251"
                                                   "i249"
                                                   "i248"
@@ -7416,118 +7416,118 @@
                                                  ((top) (top) (top))
                                                  ("i40" "i39" "i38")))
                                               (hygiene guile))))
-                                    #{ropt 2338}#)))
-                          #{tmp 2344}#)
-                        (let ((#{tmp 2353}#
+                                    #{ropt 2352}#)))
+                          #{tmp 2358}#)
+                        (let ((#{tmp 2367}#
                                 ($sc-dispatch
-                                  #{tmp 2342}#
+                                  #{tmp 2356}#
                                   '((any any) . any))))
-                          (if (if #{tmp 2353}#
+                          (if (if #{tmp 2367}#
                                 (@apply
-                                  (lambda (#{a 2357}# #{init 2358}# #{b 2359}#)
-                                    (#{id? 339}# #{a 2357}#))
-                                  #{tmp 2353}#)
+                                  (lambda (#{a 2371}# #{init 2372}# #{b 2373}#)
+                                    (#{id? 344}# #{a 2371}#))
+                                  #{tmp 2367}#)
                                 #f)
                             (@apply
-                              (lambda (#{a 2363}# #{init 2364}# #{b 2365}#)
-                                (#{opt 2280}#
-                                  #{b 2365}#
-                                  #{req 2337}#
-                                  (cons (list #{a 2363}# #{init 2364}#)
-                                        #{ropt 2338}#)))
-                              #{tmp 2353}#)
-                            (let ((#{tmp 2366}#
-                                    ($sc-dispatch #{tmp 2342}# '(any . any))))
-                              (if (if #{tmp 2366}#
+                              (lambda (#{a 2377}# #{init 2378}# #{b 2379}#)
+                                (#{opt 2294}#
+                                  #{b 2379}#
+                                  #{req 2351}#
+                                  (cons (list #{a 2377}# #{init 2378}#)
+                                        #{ropt 2352}#)))
+                              #{tmp 2367}#)
+                            (let ((#{tmp 2380}#
+                                    ($sc-dispatch #{tmp 2356}# '(any . any))))
+                              (if (if #{tmp 2380}#
                                     (@apply
-                                      (lambda (#{a 2369}# #{b 2370}#)
-                                        (eq? (syntax->datum #{a 2369}#) #:key))
-                                      #{tmp 2366}#)
+                                      (lambda (#{a 2383}# #{b 2384}#)
+                                        (eq? (syntax->datum #{a 2383}#) #:key))
+                                      #{tmp 2380}#)
                                     #f)
                                 (@apply
-                                  (lambda (#{a 2373}# #{b 2374}#)
-                                    (#{key 2282}#
-                                      #{b 2374}#
-                                      #{req 2337}#
-                                      (reverse #{ropt 2338}#)
+                                  (lambda (#{a 2387}# #{b 2388}#)
+                                    (#{key 2296}#
+                                      #{b 2388}#
+                                      #{req 2351}#
+                                      (reverse #{ropt 2352}#)
                                       '()))
-                                  #{tmp 2366}#)
-                                (let ((#{tmp 2375}#
+                                  #{tmp 2380}#)
+                                (let ((#{tmp 2389}#
                                         ($sc-dispatch
-                                          #{tmp 2342}#
+                                          #{tmp 2356}#
                                           '(any any))))
-                                  (if (if #{tmp 2375}#
+                                  (if (if #{tmp 2389}#
                                         (@apply
-                                          (lambda (#{a 2378}# #{b 2379}#)
-                                            (eq? (syntax->datum #{a 2378}#)
+                                          (lambda (#{a 2392}# #{b 2393}#)
+                                            (eq? (syntax->datum #{a 2392}#)
                                                  #:rest))
-                                          #{tmp 2375}#)
+                                          #{tmp 2389}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{a 2382}# #{b 2383}#)
-                                        (#{rest 2284}#
-                                          #{b 2383}#
-                                          #{req 2337}#
-                                          (reverse #{ropt 2338}#)
+                                      (lambda (#{a 2396}# #{b 2397}#)
+                                        (#{rest 2298}#
+                                          #{b 2397}#
+                                          #{req 2351}#
+                                          (reverse #{ropt 2352}#)
                                           '()))
-                                      #{tmp 2375}#)
-                                    (let ((#{tmp 2384}# (list #{tmp 2342}#)))
-                                      (if (if #{tmp 2384}#
+                                      #{tmp 2389}#)
+                                    (let ((#{tmp 2398}# (list #{tmp 2356}#)))
+                                      (if (if #{tmp 2398}#
                                             (@apply
-                                              (lambda (#{r 2386}#)
-                                                (#{id? 339}# #{r 2386}#))
-                                              #{tmp 2384}#)
+                                              (lambda (#{r 2400}#)
+                                                (#{id? 344}# #{r 2400}#))
+                                              #{tmp 2398}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{r 2388}#)
-                                            (#{rest 2284}#
-                                              #{r 2388}#
-                                              #{req 2337}#
-                                              (reverse #{ropt 2338}#)
+                                          (lambda (#{r 2402}#)
+                                            (#{rest 2298}#
+                                              #{r 2402}#
+                                              #{req 2351}#
+                                              (reverse #{ropt 2352}#)
                                               '()))
-                                          #{tmp 2384}#)
-                                        (let ((#{else 2390}# #{tmp 2342}#))
+                                          #{tmp 2398}#)
+                                        (let ((#{else 2404}# #{tmp 2356}#))
                                           (syntax-violation
                                             'lambda*
                                             "invalid optional argument list"
-                                            #{orig-args 2275}#
-                                            #{args 2336}#)))))))))))))))))
-          (#{key 2282}#
-            (lambda (#{args 2391}#
-                     #{req 2392}#
-                     #{opt 2393}#
-                     #{rkey 2394}#)
-              (let ((#{tmp 2399}# #{args 2391}#))
-                (let ((#{tmp 2400}# ($sc-dispatch #{tmp 2399}# '())))
-                  (if #{tmp 2400}#
+                                            #{orig-args 2289}#
+                                            #{args 2350}#)))))))))))))))))
+          (#{key 2296}#
+            (lambda (#{args 2405}#
+                     #{req 2406}#
+                     #{opt 2407}#
+                     #{rkey 2408}#)
+              (let ((#{tmp 2413}# #{args 2405}#))
+                (let ((#{tmp 2414}# ($sc-dispatch #{tmp 2413}# '())))
+                  (if #{tmp 2414}#
                     (@apply
                       (lambda ()
-                        (#{check 2286}#
-                          #{req 2392}#
-                          #{opt 2393}#
+                        (#{check 2300}#
+                          #{req 2406}#
+                          #{opt 2407}#
                           #f
-                          (cons #f (reverse #{rkey 2394}#))))
-                      #{tmp 2400}#)
-                    (let ((#{tmp 2401}#
-                            ($sc-dispatch #{tmp 2399}# '(any . any))))
-                      (if (if #{tmp 2401}#
+                          (cons #f (reverse #{rkey 2408}#))))
+                      #{tmp 2414}#)
+                    (let ((#{tmp 2415}#
+                            ($sc-dispatch #{tmp 2413}# '(any . any))))
+                      (if (if #{tmp 2415}#
                             (@apply
-                              (lambda (#{a 2404}# #{b 2405}#)
-                                (#{id? 339}# #{a 2404}#))
-                              #{tmp 2401}#)
+                              (lambda (#{a 2418}# #{b 2419}#)
+                                (#{id? 344}# #{a 2418}#))
+                              #{tmp 2415}#)
                             #f)
                         (@apply
-                          (lambda (#{a 2408}# #{b 2409}#)
-                            (let ((#{tmp 2411}#
+                          (lambda (#{a 2422}# #{b 2423}#)
+                            (let ((#{tmp 2425}#
                                     (symbol->keyword
-                                      (syntax->datum #{a 2408}#))))
-                              (let ((#{k 2413}# #{tmp 2411}#))
-                                (#{key 2282}#
-                                  #{b 2409}#
-                                  #{req 2392}#
-                                  #{opt 2393}#
-                                  (cons (cons #{k 2413}#
-                                              (cons #{a 2408}#
+                                      (syntax->datum #{a 2422}#))))
+                              (let ((#{k 2427}# #{tmp 2425}#))
+                                (#{key 2296}#
+                                  #{b 2423}#
+                                  #{req 2406}#
+                                  #{opt 2407}#
+                                  (cons (cons #{k 2427}#
+                                              (cons #{a 2422}#
                                                     '(#(syntax-object
                                                         #f
                                                         ((top)
@@ -7535,11 +7535,11 @@
                                                          #(ribcage
                                                            #(k)
                                                            #((top))
-                                                           #("i2412"))
+                                                           #("i2426"))
                                                          #(ribcage
                                                            #(a b)
                                                            #((top) (top))
-                                                           #("i2406" "i2407"))
+                                                           #("i2420" "i2421"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(args req opt rkey)
@@ -7547,10 +7547,10 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                           #("i2395"
-                                                             "i2396"
-                                                             "i2397"
-                                                             "i2398"))
+                                                           #("i2409"
+                                                             "i2410"
+                                                             "i2411"
+                                                             "i2412"))
                                                          #(ribcage
                                                            (check rest
                                                                   key
@@ -7561,15 +7561,15 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                           ("i2285"
-                                                            "i2283"
-                                                            "i2281"
-                                                            "i2279"
-                                                            "i2277"))
+                                                           ("i2299"
+                                                            "i2297"
+                                                            "i2295"
+                                                            "i2293"
+                                                            "i2291"))
                                                          #(ribcage
                                                            #(orig-args)
                                                            #((top))
-                                                           #("i2276"))
+                                                           #("i2290"))
                                                          #(ribcage
                                                            (lambda-var-list
                                                              gen-var
@@ -7843,81 +7843,82 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                           ("i448"
-                                                            "i446"
-                                                            "i444"
-                                                            "i442"
-                                                            "i440"
-                                                            "i438"
-                                                            "i436"
-                                                            "i434"
-                                                            "i432"
-                                                            "i430"
-                                                            "i428"
-                                                            "i426"
-                                                            "i424"
-                                                            "i422"
-                                                            "i420"
-                                                            "i418"
-                                                            "i416"
-                                                            "i414"
-                                                            "i412"
-                                                            "i410"
-                                                            "i408"
-                                                            "i406"
-                                                            "i404"
-                                                            "i402"
-                                                            "i400"
-                                                            "i398"
-                                                            "i396"
-                                                            "i394"
+                                                           ("i461"
+                                                            "i459"
+                                                            "i457"
+                                                            "i455"
+                                                            "i453"
+                                                            "i451"
+                                                            "i449"
+                                                            "i447"
+                                                            "i445"
+                                                            "i443"
+                                                            "i441"
+                                                            "i439"
+                                                            "i437"
+                                                            "i435"
+                                                            "i433"
+                                                            "i431"
+                                                            "i429"
+                                                            "i427"
+                                                            "i425"
+                                                            "i423"
+                                                            "i421"
+                                                            "i419"
+                                                            "i417"
+                                                            "i415"
+                                                            "i413"
+                                                            "i411"
+                                                            "i409"
+                                                            "i407"
+                                                            "i405"
+                                                            "i403"
+                                                            "i401"
+                                                            "i399"
+                                                            "i397"
+                                                            "i395"
+                                                            "i393"
                                                             "i392"
                                                             "i390"
-                                                            "i388"
+                                                            "i387"
                                                             "i386"
-                                                            "i384"
+                                                            "i385"
+                                                            "i383"
                                                             "i382"
                                                             "i380"
-                                                            "i379"
                                                             "i378"
                                                             "i376"
-                                                            "i375"
                                                             "i374"
-                                                            "i373"
                                                             "i372"
                                                             "i370"
                                                             "i368"
                                                             "i366"
-                                                            "i364"
-                                                            "i362"
+                                                            "i363"
+                                                            "i361"
                                                             "i360"
                                                             "i358"
                                                             "i356"
-                                                            "i353"
+                                                            "i354"
+                                                            "i352"
                                                             "i351"
                                                             "i350"
                                                             "i349"
-                                                            "i348"
                                                             "i347"
                                                             "i346"
-                                                            "i345"
-                                                            "i344"
                                                             "i343"
                                                             "i341"
-                                                            "i340"
-                                                            "i338"
-                                                            "i336"
-                                                            "i334"
-                                                            "i332"
+                                                            "i339"
+                                                            "i337"
+                                                            "i335"
+                                                            "i333"
+                                                            "i331"
                                                             "i330"
-                                                            "i328"
-                                                            "i326"
+                                                            "i329"
+                                                            "i327"
                                                             "i325"
                                                             "i324"
-                                                            "i323"
-                                                            "i322"
                                                             "i321"
-                                                            "i319"
+                                                            "i320"
                                                             "i318"
                                                             "i316"
                                                             "i314"
@@ -7927,31 +7928,30 @@
                                                             "i306"
                                                             "i304"
                                                             "i302"
-                                                            "i300"
-                                                            "i298"
-                                                            "i296"
-                                                            "i294"
-                                                            "i292"
-                                                            "i290"
-                                                            "i288"
-                                                            "i286"
-                                                            "i284"
-                                                            "i282"
-                                                            "i280"
-                                                            "i278"
-                                                            "i276"
-                                                            "i274"
-                                                            "i272"
-                                                            "i270"
-                                                            "i268"
-                                                            "i266"
-                                                            "i264"
-                                                            "i262"
-                                                            "i260"
-                                                            "i258"
-                                                            "i256"
+                                                            "i299"
+                                                            "i297"
+                                                            "i295"
+                                                            "i293"
+                                                            "i291"
+                                                            "i289"
+                                                            "i287"
+                                                            "i285"
+                                                            "i283"
+                                                            "i281"
+                                                            "i279"
+                                                            "i277"
+                                                            "i275"
+                                                            "i273"
+                                                            "i271"
+                                                            "i269"
+                                                            "i267"
+                                                            "i265"
+                                                            "i263"
+                                                            "i261"
+                                                            "i259"
+                                                            "i257"
+                                                            "i255"
                                                             "i254"
-                                                            "i253"
                                                             "i251"
                                                             "i249"
                                                             "i248"
@@ -7988,1935 +7988,1935 @@
                                                             "i39"
                                                             "i38")))
                                                         (hygiene guile)))))
-                                        #{rkey 2394}#)))))
-                          #{tmp 2401}#)
-                        (let ((#{tmp 2414}#
+                                        #{rkey 2408}#)))))
+                          #{tmp 2415}#)
+                        (let ((#{tmp 2428}#
                                 ($sc-dispatch
-                                  #{tmp 2399}#
+                                  #{tmp 2413}#
                                   '((any any) . any))))
-                          (if (if #{tmp 2414}#
+                          (if (if #{tmp 2428}#
                                 (@apply
-                                  (lambda (#{a 2418}# #{init 2419}# #{b 2420}#)
-                                    (#{id? 339}# #{a 2418}#))
-                                  #{tmp 2414}#)
+                                  (lambda (#{a 2432}# #{init 2433}# #{b 2434}#)
+                                    (#{id? 344}# #{a 2432}#))
+                                  #{tmp 2428}#)
                                 #f)
                             (@apply
-                              (lambda (#{a 2424}# #{init 2425}# #{b 2426}#)
-                                (let ((#{tmp 2428}#
+                              (lambda (#{a 2438}# #{init 2439}# #{b 2440}#)
+                                (let ((#{tmp 2442}#
                                         (symbol->keyword
-                                          (syntax->datum #{a 2424}#))))
-                                  (let ((#{k 2430}# #{tmp 2428}#))
-                                    (#{key 2282}#
-                                      #{b 2426}#
-                                      #{req 2392}#
-                                      #{opt 2393}#
-                                      (cons (list #{k 2430}#
-                                                  #{a 2424}#
-                                                  #{init 2425}#)
-                                            #{rkey 2394}#)))))
-                              #{tmp 2414}#)
-                            (let ((#{tmp 2431}#
+                                          (syntax->datum #{a 2438}#))))
+                                  (let ((#{k 2444}# #{tmp 2442}#))
+                                    (#{key 2296}#
+                                      #{b 2440}#
+                                      #{req 2406}#
+                                      #{opt 2407}#
+                                      (cons (list #{k 2444}#
+                                                  #{a 2438}#
+                                                  #{init 2439}#)
+                                            #{rkey 2408}#)))))
+                              #{tmp 2428}#)
+                            (let ((#{tmp 2445}#
                                     ($sc-dispatch
-                                      #{tmp 2399}#
+                                      #{tmp 2413}#
                                       '((any any any) . any))))
-                              (if (if #{tmp 2431}#
+                              (if (if #{tmp 2445}#
                                     (@apply
-                                      (lambda (#{a 2436}#
-                                               #{init 2437}#
-                                               #{k 2438}#
-                                               #{b 2439}#)
-                                        (if (#{id? 339}# #{a 2436}#)
-                                          (keyword? (syntax->datum #{k 2438}#))
+                                      (lambda (#{a 2450}#
+                                               #{init 2451}#
+                                               #{k 2452}#
+                                               #{b 2453}#)
+                                        (if (#{id? 344}# #{a 2450}#)
+                                          (keyword? (syntax->datum #{k 2452}#))
                                           #f))
-                                      #{tmp 2431}#)
+                                      #{tmp 2445}#)
                                     #f)
                                 (@apply
-                                  (lambda (#{a 2446}#
-                                           #{init 2447}#
-                                           #{k 2448}#
-                                           #{b 2449}#)
-                                    (#{key 2282}#
-                                      #{b 2449}#
-                                      #{req 2392}#
-                                      #{opt 2393}#
-                                      (cons (list #{k 2448}#
-                                                  #{a 2446}#
-                                                  #{init 2447}#)
-                                            #{rkey 2394}#)))
-                                  #{tmp 2431}#)
-                                (let ((#{tmp 2450}#
-                                        ($sc-dispatch #{tmp 2399}# '(any))))
-                                  (if (if #{tmp 2450}#
+                                  (lambda (#{a 2460}#
+                                           #{init 2461}#
+                                           #{k 2462}#
+                                           #{b 2463}#)
+                                    (#{key 2296}#
+                                      #{b 2463}#
+                                      #{req 2406}#
+                                      #{opt 2407}#
+                                      (cons (list #{k 2462}#
+                                                  #{a 2460}#
+                                                  #{init 2461}#)
+                                            #{rkey 2408}#)))
+                                  #{tmp 2445}#)
+                                (let ((#{tmp 2464}#
+                                        ($sc-dispatch #{tmp 2413}# '(any))))
+                                  (if (if #{tmp 2464}#
                                         (@apply
-                                          (lambda (#{aok 2452}#)
-                                            (eq? (syntax->datum #{aok 2452}#)
+                                          (lambda (#{aok 2466}#)
+                                            (eq? (syntax->datum #{aok 2466}#)
                                                  #:allow-other-keys))
-                                          #{tmp 2450}#)
+                                          #{tmp 2464}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{aok 2454}#)
-                                        (#{check 2286}#
-                                          #{req 2392}#
-                                          #{opt 2393}#
+                                      (lambda (#{aok 2468}#)
+                                        (#{check 2300}#
+                                          #{req 2406}#
+                                          #{opt 2407}#
                                           #f
-                                          (cons #t (reverse #{rkey 2394}#))))
-                                      #{tmp 2450}#)
-                                    (let ((#{tmp 2455}#
+                                          (cons #t (reverse #{rkey 2408}#))))
+                                      #{tmp 2464}#)
+                                    (let ((#{tmp 2469}#
                                             ($sc-dispatch
-                                              #{tmp 2399}#
+                                              #{tmp 2413}#
                                               '(any any any))))
-                                      (if (if #{tmp 2455}#
+                                      (if (if #{tmp 2469}#
                                             (@apply
-                                              (lambda (#{aok 2459}#
-                                                       #{a 2460}#
-                                                       #{b 2461}#)
+                                              (lambda (#{aok 2473}#
+                                                       #{a 2474}#
+                                                       #{b 2475}#)
                                                 (if (eq? (syntax->datum
-                                                           #{aok 2459}#)
+                                                           #{aok 2473}#)
                                                          #:allow-other-keys)
                                                   (eq? (syntax->datum
-                                                         #{a 2460}#)
+                                                         #{a 2474}#)
                                                        #:rest)
                                                   #f))
-                                              #{tmp 2455}#)
+                                              #{tmp 2469}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{aok 2467}#
-                                                   #{a 2468}#
-                                                   #{b 2469}#)
-                                            (#{rest 2284}#
-                                              #{b 2469}#
-                                              #{req 2392}#
-                                              #{opt 2393}#
+                                          (lambda (#{aok 2481}#
+                                                   #{a 2482}#
+                                                   #{b 2483}#)
+                                            (#{rest 2298}#
+                                              #{b 2483}#
+                                              #{req 2406}#
+                                              #{opt 2407}#
                                               (cons #t
-                                                    (reverse #{rkey 2394}#))))
-                                          #{tmp 2455}#)
-                                        (let ((#{tmp 2470}#
+                                                    (reverse #{rkey 2408}#))))
+                                          #{tmp 2469}#)
+                                        (let ((#{tmp 2484}#
                                                 ($sc-dispatch
-                                                  #{tmp 2399}#
+                                                  #{tmp 2413}#
                                                   '(any . any))))
-                                          (if (if #{tmp 2470}#
+                                          (if (if #{tmp 2484}#
                                                 (@apply
-                                                  (lambda (#{aok 2473}#
-                                                           #{r 2474}#)
+                                                  (lambda (#{aok 2487}#
+                                                           #{r 2488}#)
                                                     (if (eq? (syntax->datum
-                                                               #{aok 2473}#)
+                                                               #{aok 2487}#)
                                                              
#:allow-other-keys)
-                                                      (#{id? 339}# #{r 2474}#)
+                                                      (#{id? 344}# #{r 2488}#)
                                                       #f))
-                                                  #{tmp 2470}#)
+                                                  #{tmp 2484}#)
                                                 #f)
                                             (@apply
-                                              (lambda (#{aok 2479}# #{r 2480}#)
-                                                (#{rest 2284}#
-                                                  #{r 2480}#
-                                                  #{req 2392}#
-                                                  #{opt 2393}#
+                                              (lambda (#{aok 2493}# #{r 2494}#)
+                                                (#{rest 2298}#
+                                                  #{r 2494}#
+                                                  #{req 2406}#
+                                                  #{opt 2407}#
                                                   (cons #t
                                                         (reverse
-                                                          #{rkey 2394}#))))
-                                              #{tmp 2470}#)
-                                            (let ((#{tmp 2481}#
+                                                          #{rkey 2408}#))))
+                                              #{tmp 2484}#)
+                                            (let ((#{tmp 2495}#
                                                     ($sc-dispatch
-                                                      #{tmp 2399}#
+                                                      #{tmp 2413}#
                                                       '(any any))))
-                                              (if (if #{tmp 2481}#
+                                              (if (if #{tmp 2495}#
                                                     (@apply
-                                                      (lambda (#{a 2484}#
-                                                               #{b 2485}#)
+                                                      (lambda (#{a 2498}#
+                                                               #{b 2499}#)
                                                         (eq? (syntax->datum
-                                                               #{a 2484}#)
+                                                               #{a 2498}#)
                                                              #:rest))
-                                                      #{tmp 2481}#)
+                                                      #{tmp 2495}#)
                                                     #f)
                                                 (@apply
-                                                  (lambda (#{a 2488}#
-                                                           #{b 2489}#)
-                                                    (#{rest 2284}#
-                                                      #{b 2489}#
-                                                      #{req 2392}#
-                                                      #{opt 2393}#
+                                                  (lambda (#{a 2502}#
+                                                           #{b 2503}#)
+                                                    (#{rest 2298}#
+                                                      #{b 2503}#
+                                                      #{req 2406}#
+                                                      #{opt 2407}#
                                                       (cons #f
                                                             (reverse
-                                                              #{rkey 2394}#))))
-                                                  #{tmp 2481}#)
-                                                (let ((#{tmp 2490}#
-                                                        (list #{tmp 2399}#)))
-                                                  (if (if #{tmp 2490}#
+                                                              #{rkey 2408}#))))
+                                                  #{tmp 2495}#)
+                                                (let ((#{tmp 2504}#
+                                                        (list #{tmp 2413}#)))
+                                                  (if (if #{tmp 2504}#
                                                         (@apply
-                                                          (lambda (#{r 2492}#)
-                                                            (#{id? 339}#
-                                                              #{r 2492}#))
-                                                          #{tmp 2490}#)
+                                                          (lambda (#{r 2506}#)
+                                                            (#{id? 344}#
+                                                              #{r 2506}#))
+                                                          #{tmp 2504}#)
                                                         #f)
                                                     (@apply
-                                                      (lambda (#{r 2494}#)
-                                                        (#{rest 2284}#
-                                                          #{r 2494}#
-                                                          #{req 2392}#
-                                                          #{opt 2393}#
+                                                      (lambda (#{r 2508}#)
+                                                        (#{rest 2298}#
+                                                          #{r 2508}#
+                                                          #{req 2406}#
+                                                          #{opt 2407}#
                                                           (cons #f
                                                                 (reverse
-                                                                  #{rkey 
2394}#))))
-                                                      #{tmp 2490}#)
-                                                    (let ((#{else 2496}#
-                                                            #{tmp 2399}#))
+                                                                  #{rkey 
2408}#))))
+                                                      #{tmp 2504}#)
+                                                    (let ((#{else 2510}#
+                                                            #{tmp 2413}#))
                                                       (syntax-violation
                                                         'lambda*
                                                         "invalid keyword 
argument list"
-                                                        #{orig-args 2275}#
-                                                        #{args 
2391}#)))))))))))))))))))))))
-          (#{rest 2284}#
-            (lambda (#{args 2497}#
-                     #{req 2498}#
-                     #{opt 2499}#
-                     #{kw 2500}#)
-              (let ((#{tmp 2505}# #{args 2497}#))
-                (let ((#{tmp 2506}# (list #{tmp 2505}#)))
-                  (if (if #{tmp 2506}#
+                                                        #{orig-args 2289}#
+                                                        #{args 
2405}#)))))))))))))))))))))))
+          (#{rest 2298}#
+            (lambda (#{args 2511}#
+                     #{req 2512}#
+                     #{opt 2513}#
+                     #{kw 2514}#)
+              (let ((#{tmp 2519}# #{args 2511}#))
+                (let ((#{tmp 2520}# (list #{tmp 2519}#)))
+                  (if (if #{tmp 2520}#
                         (@apply
-                          (lambda (#{r 2508}#) (#{id? 339}# #{r 2508}#))
-                          #{tmp 2506}#)
+                          (lambda (#{r 2522}#) (#{id? 344}# #{r 2522}#))
+                          #{tmp 2520}#)
                         #f)
                     (@apply
-                      (lambda (#{r 2510}#)
-                        (#{check 2286}#
-                          #{req 2498}#
-                          #{opt 2499}#
-                          #{r 2510}#
-                          #{kw 2500}#))
-                      #{tmp 2506}#)
-                    (let ((#{else 2512}# #{tmp 2505}#))
+                      (lambda (#{r 2524}#)
+                        (#{check 2300}#
+                          #{req 2512}#
+                          #{opt 2513}#
+                          #{r 2524}#
+                          #{kw 2514}#))
+                      #{tmp 2520}#)
+                    (let ((#{else 2526}# #{tmp 2519}#))
                       (syntax-violation
                         'lambda*
                         "invalid rest argument"
-                        #{orig-args 2275}#
-                        #{args 2497}#)))))))
-          (#{check 2286}#
-            (lambda (#{req 2513}#
-                     #{opt 2514}#
-                     #{rest 2515}#
-                     #{kw 2516}#)
-              (if (#{distinct-bound-ids? 401}#
+                        #{orig-args 2289}#
+                        #{args 2511}#)))))))
+          (#{check 2300}#
+            (lambda (#{req 2527}#
+                     #{opt 2528}#
+                     #{rest 2529}#
+                     #{kw 2530}#)
+              (if (#{distinct-bound-ids? 414}#
                     (append
-                      #{req 2513}#
-                      (map car #{opt 2514}#)
-                      (if #{rest 2515}# (list #{rest 2515}#) '())
-                      (if (pair? #{kw 2516}#)
-                        (map cadr (cdr #{kw 2516}#))
+                      #{req 2527}#
+                      (map car #{opt 2528}#)
+                      (if #{rest 2529}# (list #{rest 2529}#) '())
+                      (if (pair? #{kw 2530}#)
+                        (map cadr (cdr #{kw 2530}#))
                         '())))
                 (values
-                  #{req 2513}#
-                  #{opt 2514}#
-                  #{rest 2515}#
-                  #{kw 2516}#)
+                  #{req 2527}#
+                  #{opt 2528}#
+                  #{rest 2529}#
+                  #{kw 2530}#)
                 (syntax-violation
                   'lambda*
                   "duplicate identifier in argument list"
-                  #{orig-args 2275}#)))))
-         (begin (#{req 2278}# #{orig-args 2275}# '())))))
-   (#{chi-lambda-case 443}#
-     (lambda (#{e 2524}#
-              #{r 2525}#
-              #{w 2526}#
-              #{s 2527}#
-              #{mod 2528}#
-              #{get-formals 2529}#
-              #{clauses 2530}#)
+                  #{orig-args 2289}#)))))
+         (begin (#{req 2292}# #{orig-args 2289}# '())))))
+   (#{chi-lambda-case 456}#
+     (lambda (#{e 2538}#
+              #{r 2539}#
+              #{w 2540}#
+              #{s 2541}#
+              #{mod 2542}#
+              #{get-formals 2543}#
+              #{clauses 2544}#)
        (letrec*
-         ((#{expand-req 2539}#
-            (lambda (#{req 2546}#
-                     #{opt 2547}#
-                     #{rest 2548}#
-                     #{kw 2549}#
-                     #{body 2550}#)
+         ((#{expand-req 2553}#
+            (lambda (#{req 2560}#
+                     #{opt 2561}#
+                     #{rest 2562}#
+                     #{kw 2563}#
+                     #{body 2564}#)
               (begin
-                (let ((#{vars 2558}#
-                        (map #{gen-var 447}# #{req 2546}#))
-                      (#{labels 2559}#
-                        (#{gen-labels 354}# #{req 2546}#)))
+                (let ((#{vars 2572}#
+                        (map #{gen-var 460}# #{req 2560}#))
+                      (#{labels 2573}#
+                        (#{gen-labels 364}# #{req 2560}#)))
                   (begin
-                    (let ((#{r* 2562}#
-                            (#{extend-var-env 329}#
-                              #{labels 2559}#
-                              #{vars 2558}#
-                              #{r 2525}#))
-                          (#{w* 2563}#
-                            (#{make-binding-wrap 383}#
-                              #{req 2546}#
-                              #{labels 2559}#
-                              #{w 2526}#)))
-                      (#{expand-opt 2541}#
-                        (map syntax->datum #{req 2546}#)
-                        #{opt 2547}#
-                        #{rest 2548}#
-                        #{kw 2549}#
-                        #{body 2550}#
-                        (reverse #{vars 2558}#)
-                        #{r* 2562}#
-                        #{w* 2563}#
+                    (let ((#{r* 2576}#
+                            (#{extend-var-env 334}#
+                              #{labels 2573}#
+                              #{vars 2572}#
+                              #{r 2539}#))
+                          (#{w* 2577}#
+                            (#{make-binding-wrap 396}#
+                              #{req 2560}#
+                              #{labels 2573}#
+                              #{w 2540}#)))
+                      (#{expand-opt 2555}#
+                        (map syntax->datum #{req 2560}#)
+                        #{opt 2561}#
+                        #{rest 2562}#
+                        #{kw 2563}#
+                        #{body 2564}#
+                        (reverse #{vars 2572}#)
+                        #{r* 2576}#
+                        #{w* 2577}#
                         '()
                         '())))))))
-          (#{expand-opt 2541}#
-            (lambda (#{req 2564}#
-                     #{opt 2565}#
-                     #{rest 2566}#
-                     #{kw 2567}#
-                     #{body 2568}#
-                     #{vars 2569}#
-                     #{r* 2570}#
-                     #{w* 2571}#
-                     #{out 2572}#
-                     #{inits 2573}#)
-              (if (pair? #{opt 2565}#)
-                (let ((#{tmp 2586}# (car #{opt 2565}#)))
-                  (let ((#{tmp 2587}#
-                          ($sc-dispatch #{tmp 2586}# '(any any))))
-                    (if #{tmp 2587}#
+          (#{expand-opt 2555}#
+            (lambda (#{req 2578}#
+                     #{opt 2579}#
+                     #{rest 2580}#
+                     #{kw 2581}#
+                     #{body 2582}#
+                     #{vars 2583}#
+                     #{r* 2584}#
+                     #{w* 2585}#
+                     #{out 2586}#
+                     #{inits 2587}#)
+              (if (pair? #{opt 2579}#)
+                (let ((#{tmp 2600}# (car #{opt 2579}#)))
+                  (let ((#{tmp 2601}#
+                          ($sc-dispatch #{tmp 2600}# '(any any))))
+                    (if #{tmp 2601}#
                       (@apply
-                        (lambda (#{id 2590}# #{i 2591}#)
+                        (lambda (#{id 2604}# #{i 2605}#)
                           (begin
-                            (let ((#{v 2594}# (#{gen-var 447}# #{id 2590}#)))
+                            (let ((#{v 2608}# (#{gen-var 460}# #{id 2604}#)))
                               (begin
-                                (let ((#{l 2596}#
-                                        (#{gen-labels 354}#
-                                          (list #{v 2594}#))))
+                                (let ((#{l 2610}#
+                                        (#{gen-labels 364}#
+                                          (list #{v 2608}#))))
                                   (begin
-                                    (let ((#{r** 2598}#
-                                            (#{extend-var-env 329}#
-                                              #{l 2596}#
-                                              (list #{v 2594}#)
-                                              #{r* 2570}#)))
+                                    (let ((#{r** 2612}#
+                                            (#{extend-var-env 334}#
+                                              #{l 2610}#
+                                              (list #{v 2608}#)
+                                              #{r* 2584}#)))
                                       (begin
-                                        (let ((#{w** 2600}#
-                                                (#{make-binding-wrap 383}#
-                                                  (list #{id 2590}#)
-                                                  #{l 2596}#
-                                                  #{w* 2571}#)))
-                                          (#{expand-opt 2541}#
-                                            #{req 2564}#
-                                            (cdr #{opt 2565}#)
-                                            #{rest 2566}#
-                                            #{kw 2567}#
-                                            #{body 2568}#
-                                            (cons #{v 2594}# #{vars 2569}#)
-                                            #{r** 2598}#
-                                            #{w** 2600}#
-                                            (cons (syntax->datum #{id 2590}#)
-                                                  #{out 2572}#)
-                                            (cons (#{chi 419}#
-                                                    #{i 2591}#
-                                                    #{r* 2570}#
-                                                    #{w* 2571}#
-                                                    #{mod 2528}#)
-                                                  #{inits 2573}#)))))))))))
-                        #{tmp 2587}#)
+                                        (let ((#{w** 2614}#
+                                                (#{make-binding-wrap 396}#
+                                                  (list #{id 2604}#)
+                                                  #{l 2610}#
+                                                  #{w* 2585}#)))
+                                          (#{expand-opt 2555}#
+                                            #{req 2578}#
+                                            (cdr #{opt 2579}#)
+                                            #{rest 2580}#
+                                            #{kw 2581}#
+                                            #{body 2582}#
+                                            (cons #{v 2608}# #{vars 2583}#)
+                                            #{r** 2612}#
+                                            #{w** 2614}#
+                                            (cons (syntax->datum #{id 2604}#)
+                                                  #{out 2586}#)
+                                            (cons (#{chi 432}#
+                                                    #{i 2605}#
+                                                    #{r* 2584}#
+                                                    #{w* 2585}#
+                                                    #{mod 2542}#)
+                                                  #{inits 2587}#)))))))))))
+                        #{tmp 2601}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 2586}#))))
-                (if #{rest 2566}#
+                        #{tmp 2600}#))))
+                (if #{rest 2580}#
                   (begin
-                    (let ((#{v 2605}# (#{gen-var 447}# #{rest 2566}#)))
+                    (let ((#{v 2619}# (#{gen-var 460}# #{rest 2580}#)))
                       (begin
-                        (let ((#{l 2607}#
-                                (#{gen-labels 354}# (list #{v 2605}#))))
+                        (let ((#{l 2621}#
+                                (#{gen-labels 364}# (list #{v 2619}#))))
                           (begin
-                            (let ((#{r* 2609}#
-                                    (#{extend-var-env 329}#
-                                      #{l 2607}#
-                                      (list #{v 2605}#)
-                                      #{r* 2570}#)))
+                            (let ((#{r* 2623}#
+                                    (#{extend-var-env 334}#
+                                      #{l 2621}#
+                                      (list #{v 2619}#)
+                                      #{r* 2584}#)))
                               (begin
-                                (let ((#{w* 2611}#
-                                        (#{make-binding-wrap 383}#
-                                          (list #{rest 2566}#)
-                                          #{l 2607}#
-                                          #{w* 2571}#)))
-                                  (#{expand-kw 2543}#
-                                    #{req 2564}#
-                                    (if (pair? #{out 2572}#)
-                                      (reverse #{out 2572}#)
+                                (let ((#{w* 2625}#
+                                        (#{make-binding-wrap 396}#
+                                          (list #{rest 2580}#)
+                                          #{l 2621}#
+                                          #{w* 2585}#)))
+                                  (#{expand-kw 2557}#
+                                    #{req 2578}#
+                                    (if (pair? #{out 2586}#)
+                                      (reverse #{out 2586}#)
                                       #f)
-                                    (syntax->datum #{rest 2566}#)
-                                    (if (pair? #{kw 2567}#)
-                                      (cdr #{kw 2567}#)
-                                      #{kw 2567}#)
-                                    #{body 2568}#
-                                    (cons #{v 2605}# #{vars 2569}#)
-                                    #{r* 2609}#
-                                    #{w* 2611}#
-                                    (if (pair? #{kw 2567}#)
-                                      (car #{kw 2567}#)
+                                    (syntax->datum #{rest 2580}#)
+                                    (if (pair? #{kw 2581}#)
+                                      (cdr #{kw 2581}#)
+                                      #{kw 2581}#)
+                                    #{body 2582}#
+                                    (cons #{v 2619}# #{vars 2583}#)
+                                    #{r* 2623}#
+                                    #{w* 2625}#
+                                    (if (pair? #{kw 2581}#)
+                                      (car #{kw 2581}#)
                                       #f)
                                     '()
-                                    #{inits 2573}#)))))))))
-                  (#{expand-kw 2543}#
-                    #{req 2564}#
-                    (if (pair? #{out 2572}#)
-                      (reverse #{out 2572}#)
+                                    #{inits 2587}#)))))))))
+                  (#{expand-kw 2557}#
+                    #{req 2578}#
+                    (if (pair? #{out 2586}#)
+                      (reverse #{out 2586}#)
                       #f)
                     #f
-                    (if (pair? #{kw 2567}#)
-                      (cdr #{kw 2567}#)
-                      #{kw 2567}#)
-                    #{body 2568}#
-                    #{vars 2569}#
-                    #{r* 2570}#
-                    #{w* 2571}#
-                    (if (pair? #{kw 2567}#) (car #{kw 2567}#) #f)
+                    (if (pair? #{kw 2581}#)
+                      (cdr #{kw 2581}#)
+                      #{kw 2581}#)
+                    #{body 2582}#
+                    #{vars 2583}#
+                    #{r* 2584}#
+                    #{w* 2585}#
+                    (if (pair? #{kw 2581}#) (car #{kw 2581}#) #f)
                     '()
-                    #{inits 2573}#)))))
-          (#{expand-kw 2543}#
-            (lambda (#{req 2613}#
-                     #{opt 2614}#
-                     #{rest 2615}#
-                     #{kw 2616}#
-                     #{body 2617}#
-                     #{vars 2618}#
-                     #{r* 2619}#
-                     #{w* 2620}#
-                     #{aok 2621}#
-                     #{out 2622}#
-                     #{inits 2623}#)
-              (if (pair? #{kw 2616}#)
-                (let ((#{tmp 2637}# (car #{kw 2616}#)))
-                  (let ((#{tmp 2638}#
-                          ($sc-dispatch #{tmp 2637}# '(any any any))))
-                    (if #{tmp 2638}#
+                    #{inits 2587}#)))))
+          (#{expand-kw 2557}#
+            (lambda (#{req 2627}#
+                     #{opt 2628}#
+                     #{rest 2629}#
+                     #{kw 2630}#
+                     #{body 2631}#
+                     #{vars 2632}#
+                     #{r* 2633}#
+                     #{w* 2634}#
+                     #{aok 2635}#
+                     #{out 2636}#
+                     #{inits 2637}#)
+              (if (pair? #{kw 2630}#)
+                (let ((#{tmp 2651}# (car #{kw 2630}#)))
+                  (let ((#{tmp 2652}#
+                          ($sc-dispatch #{tmp 2651}# '(any any any))))
+                    (if #{tmp 2652}#
                       (@apply
-                        (lambda (#{k 2642}# #{id 2643}# #{i 2644}#)
+                        (lambda (#{k 2656}# #{id 2657}# #{i 2658}#)
                           (begin
-                            (let ((#{v 2647}# (#{gen-var 447}# #{id 2643}#)))
+                            (let ((#{v 2661}# (#{gen-var 460}# #{id 2657}#)))
                               (begin
-                                (let ((#{l 2649}#
-                                        (#{gen-labels 354}#
-                                          (list #{v 2647}#))))
+                                (let ((#{l 2663}#
+                                        (#{gen-labels 364}#
+                                          (list #{v 2661}#))))
                                   (begin
-                                    (let ((#{r** 2651}#
-                                            (#{extend-var-env 329}#
-                                              #{l 2649}#
-                                              (list #{v 2647}#)
-                                              #{r* 2619}#)))
+                                    (let ((#{r** 2665}#
+                                            (#{extend-var-env 334}#
+                                              #{l 2663}#
+                                              (list #{v 2661}#)
+                                              #{r* 2633}#)))
                                       (begin
-                                        (let ((#{w** 2653}#
-                                                (#{make-binding-wrap 383}#
-                                                  (list #{id 2643}#)
-                                                  #{l 2649}#
-                                                  #{w* 2620}#)))
-                                          (#{expand-kw 2543}#
-                                            #{req 2613}#
-                                            #{opt 2614}#
-                                            #{rest 2615}#
-                                            (cdr #{kw 2616}#)
-                                            #{body 2617}#
-                                            (cons #{v 2647}# #{vars 2618}#)
-                                            #{r** 2651}#
-                                            #{w** 2653}#
-                                            #{aok 2621}#
+                                        (let ((#{w** 2667}#
+                                                (#{make-binding-wrap 396}#
+                                                  (list #{id 2657}#)
+                                                  #{l 2663}#
+                                                  #{w* 2634}#)))
+                                          (#{expand-kw 2557}#
+                                            #{req 2627}#
+                                            #{opt 2628}#
+                                            #{rest 2629}#
+                                            (cdr #{kw 2630}#)
+                                            #{body 2631}#
+                                            (cons #{v 2661}# #{vars 2632}#)
+                                            #{r** 2665}#
+                                            #{w** 2667}#
+                                            #{aok 2635}#
                                             (cons (list (syntax->datum
-                                                          #{k 2642}#)
+                                                          #{k 2656}#)
                                                         (syntax->datum
-                                                          #{id 2643}#)
-                                                        #{v 2647}#)
-                                                  #{out 2622}#)
-                                            (cons (#{chi 419}#
-                                                    #{i 2644}#
-                                                    #{r* 2619}#
-                                                    #{w* 2620}#
-                                                    #{mod 2528}#)
-                                                  #{inits 2623}#)))))))))))
-                        #{tmp 2638}#)
+                                                          #{id 2657}#)
+                                                        #{v 2661}#)
+                                                  #{out 2636}#)
+                                            (cons (#{chi 432}#
+                                                    #{i 2658}#
+                                                    #{r* 2633}#
+                                                    #{w* 2634}#
+                                                    #{mod 2542}#)
+                                                  #{inits 2637}#)))))))))))
+                        #{tmp 2652}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 2637}#))))
-                (#{expand-body 2545}#
-                  #{req 2613}#
-                  #{opt 2614}#
-                  #{rest 2615}#
+                        #{tmp 2651}#))))
+                (#{expand-body 2559}#
+                  #{req 2627}#
+                  #{opt 2628}#
+                  #{rest 2629}#
                   (if (begin
-                        (let ((#{t 2657}# #{aok 2621}#))
-                          (if #{t 2657}# #{t 2657}# (pair? #{out 2622}#))))
-                    (cons #{aok 2621}# (reverse #{out 2622}#))
+                        (let ((#{t 2671}# #{aok 2635}#))
+                          (if #{t 2671}# #{t 2671}# (pair? #{out 2636}#))))
+                    (cons #{aok 2635}# (reverse #{out 2636}#))
                     #f)
-                  #{body 2617}#
-                  (reverse #{vars 2618}#)
-                  #{r* 2619}#
-                  #{w* 2620}#
-                  (reverse #{inits 2623}#)
+                  #{body 2631}#
+                  (reverse #{vars 2632}#)
+                  #{r* 2633}#
+                  #{w* 2634}#
+                  (reverse #{inits 2637}#)
                   '()))))
-          (#{expand-body 2545}#
-            (lambda (#{req 2659}#
-                     #{opt 2660}#
-                     #{rest 2661}#
-                     #{kw 2662}#
-                     #{body 2663}#
-                     #{vars 2664}#
-                     #{r* 2665}#
-                     #{w* 2666}#
-                     #{inits 2667}#
-                     #{meta 2668}#)
-              (let ((#{tmp 2679}# #{body 2663}#))
-                (let ((#{tmp 2680}#
-                        ($sc-dispatch #{tmp 2679}# '(any any . each-any))))
-                  (if (if #{tmp 2680}#
+          (#{expand-body 2559}#
+            (lambda (#{req 2673}#
+                     #{opt 2674}#
+                     #{rest 2675}#
+                     #{kw 2676}#
+                     #{body 2677}#
+                     #{vars 2678}#
+                     #{r* 2679}#
+                     #{w* 2680}#
+                     #{inits 2681}#
+                     #{meta 2682}#)
+              (let ((#{tmp 2693}# #{body 2677}#))
+                (let ((#{tmp 2694}#
+                        ($sc-dispatch #{tmp 2693}# '(any any . each-any))))
+                  (if (if #{tmp 2694}#
                         (@apply
-                          (lambda (#{docstring 2684}# #{e1 2685}# #{e2 2686}#)
-                            (string? (syntax->datum #{docstring 2684}#)))
-                          #{tmp 2680}#)
+                          (lambda (#{docstring 2698}# #{e1 2699}# #{e2 2700}#)
+                            (string? (syntax->datum #{docstring 2698}#)))
+                          #{tmp 2694}#)
                         #f)
                     (@apply
-                      (lambda (#{docstring 2690}# #{e1 2691}# #{e2 2692}#)
-                        (#{expand-body 2545}#
-                          #{req 2659}#
-                          #{opt 2660}#
-                          #{rest 2661}#
-                          #{kw 2662}#
-                          (cons #{e1 2691}# #{e2 2692}#)
-                          #{vars 2664}#
-                          #{r* 2665}#
-                          #{w* 2666}#
-                          #{inits 2667}#
+                      (lambda (#{docstring 2704}# #{e1 2705}# #{e2 2706}#)
+                        (#{expand-body 2559}#
+                          #{req 2673}#
+                          #{opt 2674}#
+                          #{rest 2675}#
+                          #{kw 2676}#
+                          (cons #{e1 2705}# #{e2 2706}#)
+                          #{vars 2678}#
+                          #{r* 2679}#
+                          #{w* 2680}#
+                          #{inits 2681}#
                           (append
-                            #{meta 2668}#
+                            #{meta 2682}#
                             (list (cons 'documentation
-                                        (syntax->datum #{docstring 2690}#))))))
-                      #{tmp 2680}#)
-                    (let ((#{tmp 2695}#
+                                        (syntax->datum #{docstring 2704}#))))))
+                      #{tmp 2694}#)
+                    (let ((#{tmp 2709}#
                             ($sc-dispatch
-                              #{tmp 2679}#
+                              #{tmp 2693}#
                               '(#(vector #(each (any . any)))
                                 any
                                 .
                                 each-any))))
-                      (if #{tmp 2695}#
+                      (if #{tmp 2709}#
                         (@apply
-                          (lambda (#{k 2700}#
-                                   #{v 2701}#
-                                   #{e1 2702}#
-                                   #{e2 2703}#)
-                            (#{expand-body 2545}#
-                              #{req 2659}#
-                              #{opt 2660}#
-                              #{rest 2661}#
-                              #{kw 2662}#
-                              (cons #{e1 2702}# #{e2 2703}#)
-                              #{vars 2664}#
-                              #{r* 2665}#
-                              #{w* 2666}#
-                              #{inits 2667}#
+                          (lambda (#{k 2714}#
+                                   #{v 2715}#
+                                   #{e1 2716}#
+                                   #{e2 2717}#)
+                            (#{expand-body 2559}#
+                              #{req 2673}#
+                              #{opt 2674}#
+                              #{rest 2675}#
+                              #{kw 2676}#
+                              (cons #{e1 2716}# #{e2 2717}#)
+                              #{vars 2678}#
+                              #{r* 2679}#
+                              #{w* 2680}#
+                              #{inits 2681}#
                               (append
-                                #{meta 2668}#
+                                #{meta 2682}#
                                 (syntax->datum
-                                  (map cons #{k 2700}# #{v 2701}#)))))
-                          #{tmp 2695}#)
-                        (let ((#{tmp 2707}#
-                                ($sc-dispatch #{tmp 2679}# '(any . each-any))))
-                          (if #{tmp 2707}#
+                                  (map cons #{k 2714}# #{v 2715}#)))))
+                          #{tmp 2709}#)
+                        (let ((#{tmp 2721}#
+                                ($sc-dispatch #{tmp 2693}# '(any . each-any))))
+                          (if #{tmp 2721}#
                             (@apply
-                              (lambda (#{e1 2710}# #{e2 2711}#)
+                              (lambda (#{e1 2724}# #{e2 2725}#)
                                 (values
-                                  #{meta 2668}#
-                                  #{req 2659}#
-                                  #{opt 2660}#
-                                  #{rest 2661}#
-                                  #{kw 2662}#
-                                  #{inits 2667}#
-                                  #{vars 2664}#
-                                  (#{chi-body 427}#
-                                    (cons #{e1 2710}# #{e2 2711}#)
-                                    (#{source-wrap 407}#
-                                      #{e 2524}#
-                                      #{w 2526}#
-                                      #{s 2527}#
-                                      #{mod 2528}#)
-                                    #{r* 2665}#
-                                    #{w* 2666}#
-                                    #{mod 2528}#)))
-                              #{tmp 2707}#)
+                                  #{meta 2682}#
+                                  #{req 2673}#
+                                  #{opt 2674}#
+                                  #{rest 2675}#
+                                  #{kw 2676}#
+                                  #{inits 2681}#
+                                  #{vars 2678}#
+                                  (#{chi-body 440}#
+                                    (cons #{e1 2724}# #{e2 2725}#)
+                                    (#{source-wrap 420}#
+                                      #{e 2538}#
+                                      #{w 2540}#
+                                      #{s 2541}#
+                                      #{mod 2542}#)
+                                    #{r* 2679}#
+                                    #{w* 2680}#
+                                    #{mod 2542}#)))
+                              #{tmp 2721}#)
                             (syntax-violation
                               #f
                               "source expression failed to match any pattern"
-                              #{tmp 2679}#)))))))))))
+                              #{tmp 2693}#)))))))))))
          (begin
-           (let ((#{tmp 2713}# #{clauses 2530}#))
-             (let ((#{tmp 2714}# ($sc-dispatch #{tmp 2713}# '())))
-               (if #{tmp 2714}#
-                 (@apply (lambda () (values '() #f)) #{tmp 2714}#)
-                 (let ((#{tmp 2715}#
+           (let ((#{tmp 2727}# #{clauses 2544}#))
+             (let ((#{tmp 2728}# ($sc-dispatch #{tmp 2727}# '())))
+               (if #{tmp 2728}#
+                 (@apply (lambda () (values '() #f)) #{tmp 2728}#)
+                 (let ((#{tmp 2729}#
                          ($sc-dispatch
-                           #{tmp 2713}#
+                           #{tmp 2727}#
                            '((any any . each-any)
                              .
                              #(each (any any . each-any))))))
-                   (if #{tmp 2715}#
+                   (if #{tmp 2729}#
                      (@apply
-                       (lambda (#{args 2722}#
-                                #{e1 2723}#
-                                #{e2 2724}#
-                                #{args* 2725}#
-                                #{e1* 2726}#
-                                #{e2* 2727}#)
+                       (lambda (#{args 2736}#
+                                #{e1 2737}#
+                                #{e2 2738}#
+                                #{args* 2739}#
+                                #{e1* 2740}#
+                                #{e2* 2741}#)
                          (call-with-values
-                           (lambda () (#{get-formals 2529}# #{args 2722}#))
-                           (lambda (#{req 2728}#
-                                    #{opt 2729}#
-                                    #{rest 2730}#
-                                    #{kw 2731}#)
+                           (lambda () (#{get-formals 2543}# #{args 2736}#))
+                           (lambda (#{req 2742}#
+                                    #{opt 2743}#
+                                    #{rest 2744}#
+                                    #{kw 2745}#)
                              (call-with-values
                                (lambda ()
-                                 (#{expand-req 2539}#
-                                   #{req 2728}#
-                                   #{opt 2729}#
-                                   #{rest 2730}#
-                                   #{kw 2731}#
-                                   (cons #{e1 2723}# #{e2 2724}#)))
-                               (lambda (#{meta 2737}#
-                                        #{req 2738}#
-                                        #{opt 2739}#
-                                        #{rest 2740}#
-                                        #{kw 2741}#
-                                        #{inits 2742}#
-                                        #{vars 2743}#
-                                        #{body 2744}#)
+                                 (#{expand-req 2553}#
+                                   #{req 2742}#
+                                   #{opt 2743}#
+                                   #{rest 2744}#
+                                   #{kw 2745}#
+                                   (cons #{e1 2737}# #{e2 2738}#)))
+                               (lambda (#{meta 2751}#
+                                        #{req 2752}#
+                                        #{opt 2753}#
+                                        #{rest 2754}#
+                                        #{kw 2755}#
+                                        #{inits 2756}#
+                                        #{vars 2757}#
+                                        #{body 2758}#)
                                  (call-with-values
                                    (lambda ()
-                                     (#{chi-lambda-case 443}#
-                                       #{e 2524}#
-                                       #{r 2525}#
-                                       #{w 2526}#
-                                       #{s 2527}#
-                                       #{mod 2528}#
-                                       #{get-formals 2529}#
-                                       (map (lambda (#{tmp 2755}#
-                                                     #{tmp 2754}#
-                                                     #{tmp 2753}#)
-                                              (cons #{tmp 2753}#
-                                                    (cons #{tmp 2754}#
-                                                          #{tmp 2755}#)))
-                                            #{e2* 2727}#
-                                            #{e1* 2726}#
-                                            #{args* 2725}#)))
-                                   (lambda (#{meta* 2757}# #{else* 2758}#)
+                                     (#{chi-lambda-case 456}#
+                                       #{e 2538}#
+                                       #{r 2539}#
+                                       #{w 2540}#
+                                       #{s 2541}#
+                                       #{mod 2542}#
+                                       #{get-formals 2543}#
+                                       (map (lambda (#{tmp 2769}#
+                                                     #{tmp 2768}#
+                                                     #{tmp 2767}#)
+                                              (cons #{tmp 2767}#
+                                                    (cons #{tmp 2768}#
+                                                          #{tmp 2769}#)))
+                                            #{e2* 2741}#
+                                            #{e1* 2740}#
+                                            #{args* 2739}#)))
+                                   (lambda (#{meta* 2771}# #{else* 2772}#)
                                      (values
-                                       (append #{meta 2737}# #{meta* 2757}#)
-                                       (#{build-lambda-case 287}#
-                                         #{s 2527}#
-                                         #{req 2738}#
-                                         #{opt 2739}#
-                                         #{rest 2740}#
-                                         #{kw 2741}#
-                                         #{inits 2742}#
-                                         #{vars 2743}#
-                                         #{body 2744}#
-                                         #{else* 2758}#)))))))))
-                       #{tmp 2715}#)
+                                       (append #{meta 2751}# #{meta* 2771}#)
+                                       (#{build-lambda-case 288}#
+                                         #{s 2541}#
+                                         #{req 2752}#
+                                         #{opt 2753}#
+                                         #{rest 2754}#
+                                         #{kw 2755}#
+                                         #{inits 2756}#
+                                         #{vars 2757}#
+                                         #{body 2758}#
+                                         #{else* 2772}#)))))))))
+                       #{tmp 2729}#)
                      (syntax-violation
                        #f
                        "source expression failed to match any pattern"
-                       #{tmp 2713}#))))))))))
-   (#{strip 445}#
-     (lambda (#{x 2761}# #{w 2762}#)
-       (if (memq 'top (car #{w 2762}#))
-         #{x 2761}#
+                       #{tmp 2727}#))))))))))
+   (#{strip 458}#
+     (lambda (#{x 2775}# #{w 2776}#)
+       (if (memq 'top (car #{w 2776}#))
+         #{x 2775}#
          (letrec*
-           ((#{f 2769}#
-              (lambda (#{x 2770}#)
-                (if (#{syntax-object? 305}# #{x 2770}#)
-                  (#{strip 445}#
-                    (#{syntax-object-expression 307}# #{x 2770}#)
-                    (#{syntax-object-wrap 309}# #{x 2770}#))
-                  (if (pair? #{x 2770}#)
+           ((#{f 2783}#
+              (lambda (#{x 2784}#)
+                (if (#{syntax-object? 307}# #{x 2784}#)
+                  (#{strip 458}#
+                    (#{syntax-object-expression 309}# #{x 2784}#)
+                    (#{syntax-object-wrap 311}# #{x 2784}#))
+                  (if (pair? #{x 2784}#)
                     (begin
-                      (let ((#{a 2777}# (#{f 2769}# (car #{x 2770}#)))
-                            (#{d 2778}# (#{f 2769}# (cdr #{x 2770}#))))
-                        (if (if (eq? #{a 2777}# (car #{x 2770}#))
-                              (eq? #{d 2778}# (cdr #{x 2770}#))
+                      (let ((#{a 2791}# (#{f 2783}# (car #{x 2784}#)))
+                            (#{d 2792}# (#{f 2783}# (cdr #{x 2784}#))))
+                        (if (if (eq? #{a 2791}# (car #{x 2784}#))
+                              (eq? #{d 2792}# (cdr #{x 2784}#))
                               #f)
-                          #{x 2770}#
-                          (cons #{a 2777}# #{d 2778}#))))
-                    (if (vector? #{x 2770}#)
+                          #{x 2784}#
+                          (cons #{a 2791}# #{d 2792}#))))
+                    (if (vector? #{x 2784}#)
                       (begin
-                        (let ((#{old 2784}# (vector->list #{x 2770}#)))
+                        (let ((#{old 2798}# (vector->list #{x 2784}#)))
                           (begin
-                            (let ((#{new 2786}# (map #{f 2769}# #{old 2784}#)))
+                            (let ((#{new 2800}# (map #{f 2783}# #{old 2798}#)))
                               (letrec*
-                                ((#{lp 2790}#
-                                   (lambda (#{l1 2791}# #{l2 2792}#)
-                                     (if (null? #{l1 2791}#)
-                                       #{x 2770}#
-                                       (if (eq? (car #{l1 2791}#)
-                                                (car #{l2 2792}#))
-                                         (#{lp 2790}#
-                                           (cdr #{l1 2791}#)
-                                           (cdr #{l2 2792}#))
-                                         (list->vector #{new 2786}#))))))
+                                ((#{lp 2804}#
+                                   (lambda (#{l1 2805}# #{l2 2806}#)
+                                     (if (null? #{l1 2805}#)
+                                       #{x 2784}#
+                                       (if (eq? (car #{l1 2805}#)
+                                                (car #{l2 2806}#))
+                                         (#{lp 2804}#
+                                           (cdr #{l1 2805}#)
+                                           (cdr #{l2 2806}#))
+                                         (list->vector #{new 2800}#))))))
                                 (begin
-                                  (#{lp 2790}# #{old 2784}# #{new 2786}#)))))))
-                      #{x 2770}#))))))
-           (begin (#{f 2769}# #{x 2761}#))))))
-   (#{gen-var 447}#
-     (lambda (#{id 2794}#)
+                                  (#{lp 2804}# #{old 2798}# #{new 2800}#)))))))
+                      #{x 2784}#))))))
+           (begin (#{f 2783}# #{x 2775}#))))))
+   (#{gen-var 460}#
+     (lambda (#{id 2808}#)
        (begin
-         (let ((#{id 2797}#
-                 (if (#{syntax-object? 305}# #{id 2794}#)
-                   (#{syntax-object-expression 307}# #{id 2794}#)
-                   #{id 2794}#)))
+         (let ((#{id 2811}#
+                 (if (#{syntax-object? 307}# #{id 2808}#)
+                   (#{syntax-object-expression 309}# #{id 2808}#)
+                   #{id 2808}#)))
            (gensym
-             (string-append (symbol->string #{id 2797}#) " "))))))
-   (#{lambda-var-list 449}#
-     (lambda (#{vars 2799}#)
+             (string-append (symbol->string #{id 2811}#) " "))))))
+   (#{lambda-var-list 462}#
+     (lambda (#{vars 2813}#)
        (letrec*
-         ((#{lvl 2805}#
-            (lambda (#{vars 2806}# #{ls 2807}# #{w 2808}#)
-              (if (pair? #{vars 2806}#)
-                (#{lvl 2805}#
-                  (cdr #{vars 2806}#)
-                  (cons (#{wrap 405}# (car #{vars 2806}#) #{w 2808}# #f)
-                        #{ls 2807}#)
-                  #{w 2808}#)
-                (if (#{id? 339}# #{vars 2806}#)
-                  (cons (#{wrap 405}# #{vars 2806}# #{w 2808}# #f)
-                        #{ls 2807}#)
-                  (if (null? #{vars 2806}#)
-                    #{ls 2807}#
-                    (if (#{syntax-object? 305}# #{vars 2806}#)
-                      (#{lvl 2805}#
-                        (#{syntax-object-expression 307}# #{vars 2806}#)
-                        #{ls 2807}#
-                        (#{join-wraps 387}#
-                          #{w 2808}#
-                          (#{syntax-object-wrap 309}# #{vars 2806}#)))
-                      (cons #{vars 2806}# #{ls 2807}#))))))))
-         (begin (#{lvl 2805}# #{vars 2799}# '() '(())))))))
+         ((#{lvl 2819}#
+            (lambda (#{vars 2820}# #{ls 2821}# #{w 2822}#)
+              (if (pair? #{vars 2820}#)
+                (#{lvl 2819}#
+                  (cdr #{vars 2820}#)
+                  (cons (#{wrap 418}# (car #{vars 2820}#) #{w 2822}# #f)
+                        #{ls 2821}#)
+                  #{w 2822}#)
+                (if (#{id? 344}# #{vars 2820}#)
+                  (cons (#{wrap 418}# #{vars 2820}# #{w 2822}# #f)
+                        #{ls 2821}#)
+                  (if (null? #{vars 2820}#)
+                    #{ls 2821}#
+                    (if (#{syntax-object? 307}# #{vars 2820}#)
+                      (#{lvl 2819}#
+                        (#{syntax-object-expression 309}# #{vars 2820}#)
+                        #{ls 2821}#
+                        (#{join-wraps 400}#
+                          #{w 2822}#
+                          (#{syntax-object-wrap 311}# #{vars 2820}#)))
+                      (cons #{vars 2820}# #{ls 2821}#))))))))
+         (begin (#{lvl 2819}# #{vars 2813}# '() '(())))))))
   (begin
-    (lambda (#{src 767}# #{name 768}#)
+    (lambda (#{src 780}# #{name 781}#)
       (make-struct/no-tail
         (vector-ref %expanded-vtables 2)
-        #{src 767}#
-        #{name 768}#))
-    (lambda (#{x 1145}# #{update 1146}#)
-      (vector-set! #{x 1145}# 1 #{update 1146}#))
-    (lambda (#{x 1149}# #{update 1150}#)
-      (vector-set! #{x 1149}# 2 #{update 1150}#))
-    (lambda (#{x 1153}# #{update 1154}#)
-      (vector-set! #{x 1153}# 3 #{update 1154}#))
-    (lambda (#{x 1234}#)
-      (if (vector? #{x 1234}#)
-        (if (= (vector-length #{x 1234}#) 4)
-          (eq? (vector-ref #{x 1234}# 0) 'ribcage)
+        #{src 780}#
+        #{name 781}#))
+    (lambda (#{x 1158}# #{update 1159}#)
+      (vector-set! #{x 1158}# 1 #{update 1159}#))
+    (lambda (#{x 1162}# #{update 1163}#)
+      (vector-set! #{x 1162}# 2 #{update 1163}#))
+    (lambda (#{x 1166}# #{update 1167}#)
+      (vector-set! #{x 1166}# 3 #{update 1167}#))
+    (lambda (#{x 1247}#)
+      (if (vector? #{x 1247}#)
+        (if (= (vector-length #{x 1247}#) 4)
+          (eq? (vector-ref #{x 1247}# 0) 'ribcage)
           #f)
         #f))
     (begin
-      (#{global-extend 335}#
+      (#{global-extend 340}#
         'local-syntax
         'letrec-syntax
         #t)
-      (#{global-extend 335}#
+      (#{global-extend 340}#
         'local-syntax
         'let-syntax
         #f)
-      (#{global-extend 335}#
+      (#{global-extend 340}#
         'core
         'fluid-let-syntax
-        (lambda (#{e 2819}#
-                 #{r 2820}#
-                 #{w 2821}#
-                 #{s 2822}#
-                 #{mod 2823}#)
-          (let ((#{tmp 2829}# #{e 2819}#))
-            (let ((#{tmp 2830}#
+        (lambda (#{e 2833}#
+                 #{r 2834}#
+                 #{w 2835}#
+                 #{s 2836}#
+                 #{mod 2837}#)
+          (let ((#{tmp 2843}# #{e 2833}#))
+            (let ((#{tmp 2844}#
                     ($sc-dispatch
-                      #{tmp 2829}#
+                      #{tmp 2843}#
                       '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 2830}#
+              (if (if #{tmp 2844}#
                     (@apply
-                      (lambda (#{var 2835}#
-                               #{val 2836}#
-                               #{e1 2837}#
-                               #{e2 2838}#)
-                        (#{valid-bound-ids? 399}# #{var 2835}#))
-                      #{tmp 2830}#)
+                      (lambda (#{var 2849}#
+                               #{val 2850}#
+                               #{e1 2851}#
+                               #{e2 2852}#)
+                        (#{valid-bound-ids? 412}# #{var 2849}#))
+                      #{tmp 2844}#)
                     #f)
                 (@apply
-                  (lambda (#{var 2844}#
-                           #{val 2845}#
-                           #{e1 2846}#
-                           #{e2 2847}#)
+                  (lambda (#{var 2858}#
+                           #{val 2859}#
+                           #{e1 2860}#
+                           #{e2 2861}#)
                     (begin
-                      (let ((#{names 2849}#
-                              (map (lambda (#{x 2850}#)
-                                     (#{id-var-name 393}#
-                                       #{x 2850}#
-                                       #{w 2821}#))
-                                   #{var 2844}#)))
+                      (let ((#{names 2863}#
+                              (map (lambda (#{x 2864}#)
+                                     (#{id-var-name 406}#
+                                       #{x 2864}#
+                                       #{w 2835}#))
+                                   #{var 2858}#)))
                         (begin
                           (for-each
-                            (lambda (#{id 2853}# #{n 2854}#)
+                            (lambda (#{id 2867}# #{n 2868}#)
                               (begin
-                                (let ((#{atom-key 2859}#
-                                        (car (#{lookup 333}#
-                                               #{n 2854}#
-                                               #{r 2820}#
-                                               #{mod 2823}#))))
-                                  (if (eqv? #{atom-key 2859}#
+                                (let ((#{atom-key 2873}#
+                                        (car (#{lookup 338}#
+                                               #{n 2868}#
+                                               #{r 2834}#
+                                               #{mod 2837}#))))
+                                  (if (eqv? #{atom-key 2873}#
                                             'displaced-lexical)
                                     (syntax-violation
                                       'fluid-let-syntax
                                       "identifier out of context"
-                                      #{e 2819}#
-                                      (#{source-wrap 407}#
-                                        #{id 2853}#
-                                        #{w 2821}#
-                                        #{s 2822}#
-                                        #{mod 2823}#))))))
-                            #{var 2844}#
-                            #{names 2849}#)
-                          (#{chi-body 427}#
-                            (cons #{e1 2846}# #{e2 2847}#)
-                            (#{source-wrap 407}#
-                              #{e 2819}#
-                              #{w 2821}#
-                              #{s 2822}#
-                              #{mod 2823}#)
-                            (#{extend-env 327}#
-                              #{names 2849}#
+                                      #{e 2833}#
+                                      (#{source-wrap 420}#
+                                        #{id 2867}#
+                                        #{w 2835}#
+                                        #{s 2836}#
+                                        #{mod 2837}#))))))
+                            #{var 2858}#
+                            #{names 2863}#)
+                          (#{chi-body 440}#
+                            (cons #{e1 2860}# #{e2 2861}#)
+                            (#{source-wrap 420}#
+                              #{e 2833}#
+                              #{w 2835}#
+                              #{s 2836}#
+                              #{mod 2837}#)
+                            (#{extend-env 332}#
+                              #{names 2863}#
                               (begin
-                                (let ((#{trans-r 2865}#
-                                        (#{macros-only-env 331}# #{r 2820}#)))
-                                  (map (lambda (#{x 2866}#)
+                                (let ((#{trans-r 2879}#
+                                        (#{macros-only-env 336}# #{r 2834}#)))
+                                  (map (lambda (#{x 2880}#)
                                          (cons 'macro
-                                               (#{eval-local-transformer 431}#
-                                                 (#{chi 419}#
-                                                   #{x 2866}#
-                                                   #{trans-r 2865}#
-                                                   #{w 2821}#
-                                                   #{mod 2823}#)
-                                                 #{mod 2823}#)))
-                                       #{val 2845}#)))
-                              #{r 2820}#)
-                            #{w 2821}#
-                            #{mod 2823}#)))))
-                  #{tmp 2830}#)
-                (let ((#{_ 2871}# #{tmp 2829}#))
+                                               (#{eval-local-transformer 444}#
+                                                 (#{chi 432}#
+                                                   #{x 2880}#
+                                                   #{trans-r 2879}#
+                                                   #{w 2835}#
+                                                   #{mod 2837}#)
+                                                 #{mod 2837}#)))
+                                       #{val 2859}#)))
+                              #{r 2834}#)
+                            #{w 2835}#
+                            #{mod 2837}#)))))
+                  #{tmp 2844}#)
+                (let ((#{_ 2885}# #{tmp 2843}#))
                   (syntax-violation
                     'fluid-let-syntax
                     "bad syntax"
-                    (#{source-wrap 407}#
-                      #{e 2819}#
-                      #{w 2821}#
-                      #{s 2822}#
-                      #{mod 2823}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 420}#
+                      #{e 2833}#
+                      #{w 2835}#
+                      #{s 2836}#
+                      #{mod 2837}#))))))))
+      (#{global-extend 340}#
         'core
         'quote
-        (lambda (#{e 2872}#
-                 #{r 2873}#
-                 #{w 2874}#
-                 #{s 2875}#
-                 #{mod 2876}#)
-          (let ((#{tmp 2882}# #{e 2872}#))
-            (let ((#{tmp 2883}#
-                    ($sc-dispatch #{tmp 2882}# '(_ any))))
-              (if #{tmp 2883}#
+        (lambda (#{e 2886}#
+                 #{r 2887}#
+                 #{w 2888}#
+                 #{s 2889}#
+                 #{mod 2890}#)
+          (let ((#{tmp 2896}# #{e 2886}#))
+            (let ((#{tmp 2897}#
+                    ($sc-dispatch #{tmp 2896}# '(_ any))))
+              (if #{tmp 2897}#
                 (@apply
-                  (lambda (#{e 2885}#)
-                    (#{build-data 291}#
-                      #{s 2875}#
-                      (#{strip 445}# #{e 2885}# #{w 2874}#)))
-                  #{tmp 2883}#)
-                (let ((#{_ 2887}# #{tmp 2882}#))
+                  (lambda (#{e 2899}#)
+                    (#{build-data 292}#
+                      #{s 2889}#
+                      (#{strip 458}# #{e 2899}# #{w 2888}#)))
+                  #{tmp 2897}#)
+                (let ((#{_ 2901}# #{tmp 2896}#))
                   (syntax-violation
                     'quote
                     "bad syntax"
-                    (#{source-wrap 407}#
-                      #{e 2872}#
-                      #{w 2874}#
-                      #{s 2875}#
-                      #{mod 2876}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 420}#
+                      #{e 2886}#
+                      #{w 2888}#
+                      #{s 2889}#
+                      #{mod 2890}#))))))))
+      (#{global-extend 340}#
         'core
         'syntax
         (letrec*
-          ((#{gen-syntax 2889}#
-             (lambda (#{src 2904}#
-                      #{e 2905}#
-                      #{r 2906}#
-                      #{maps 2907}#
-                      #{ellipsis? 2908}#
-                      #{mod 2909}#)
-               (if (#{id? 339}# #{e 2905}#)
+          ((#{gen-syntax 2903}#
+             (lambda (#{src 2918}#
+                      #{e 2919}#
+                      #{r 2920}#
+                      #{maps 2921}#
+                      #{ellipsis? 2922}#
+                      #{mod 2923}#)
+               (if (#{id? 344}# #{e 2919}#)
                  (begin
-                   (let ((#{label 2917}#
-                           (#{id-var-name 393}# #{e 2905}# '(()))))
+                   (let ((#{label 2931}#
+                           (#{id-var-name 406}# #{e 2919}# '(()))))
                      (begin
-                       (let ((#{b 2920}#
-                               (#{lookup 333}#
-                                 #{label 2917}#
-                                 #{r 2906}#
-                                 #{mod 2909}#)))
-                         (if (eq? (car #{b 2920}#) 'syntax)
+                       (let ((#{b 2934}#
+                               (#{lookup 338}#
+                                 #{label 2931}#
+                                 #{r 2920}#
+                                 #{mod 2923}#)))
+                         (if (eq? (car #{b 2934}#) 'syntax)
                            (call-with-values
                              (lambda ()
                                (begin
-                                 (let ((#{var.lev 2923}# (cdr #{b 2920}#)))
-                                   (#{gen-ref 2891}#
-                                     #{src 2904}#
-                                     (car #{var.lev 2923}#)
-                                     (cdr #{var.lev 2923}#)
-                                     #{maps 2907}#))))
-                             (lambda (#{var 2925}# #{maps 2926}#)
+                                 (let ((#{var.lev 2937}# (cdr #{b 2934}#)))
+                                   (#{gen-ref 2905}#
+                                     #{src 2918}#
+                                     (car #{var.lev 2937}#)
+                                     (cdr #{var.lev 2937}#)
+                                     #{maps 2921}#))))
+                             (lambda (#{var 2939}# #{maps 2940}#)
                                (values
-                                 (list 'ref #{var 2925}#)
-                                 #{maps 2926}#)))
-                           (if (#{ellipsis? 2908}# #{e 2905}#)
+                                 (list 'ref #{var 2939}#)
+                                 #{maps 2940}#)))
+                           (if (#{ellipsis? 2922}# #{e 2919}#)
                              (syntax-violation
                                'syntax
                                "misplaced ellipsis"
-                               #{src 2904}#)
+                               #{src 2918}#)
                              (values
-                               (list 'quote #{e 2905}#)
-                               #{maps 2907}#)))))))
-                 (let ((#{tmp 2931}# #{e 2905}#))
-                   (let ((#{tmp 2932}#
-                           ($sc-dispatch #{tmp 2931}# '(any any))))
-                     (if (if #{tmp 2932}#
+                               (list 'quote #{e 2919}#)
+                               #{maps 2921}#)))))))
+                 (let ((#{tmp 2945}# #{e 2919}#))
+                   (let ((#{tmp 2946}#
+                           ($sc-dispatch #{tmp 2945}# '(any any))))
+                     (if (if #{tmp 2946}#
                            (@apply
-                             (lambda (#{dots 2935}# #{e 2936}#)
-                               (#{ellipsis? 2908}# #{dots 2935}#))
-                             #{tmp 2932}#)
+                             (lambda (#{dots 2949}# #{e 2950}#)
+                               (#{ellipsis? 2922}# #{dots 2949}#))
+                             #{tmp 2946}#)
                            #f)
                        (@apply
-                         (lambda (#{dots 2939}# #{e 2940}#)
-                           (#{gen-syntax 2889}#
-                             #{src 2904}#
-                             #{e 2940}#
-                             #{r 2906}#
-                             #{maps 2907}#
-                             (lambda (#{x 2941}#) #f)
-                             #{mod 2909}#))
-                         #{tmp 2932}#)
-                       (let ((#{tmp 2943}#
-                               ($sc-dispatch #{tmp 2931}# '(any any . any))))
-                         (if (if #{tmp 2943}#
+                         (lambda (#{dots 2953}# #{e 2954}#)
+                           (#{gen-syntax 2903}#
+                             #{src 2918}#
+                             #{e 2954}#
+                             #{r 2920}#
+                             #{maps 2921}#
+                             (lambda (#{x 2955}#) #f)
+                             #{mod 2923}#))
+                         #{tmp 2946}#)
+                       (let ((#{tmp 2957}#
+                               ($sc-dispatch #{tmp 2945}# '(any any . any))))
+                         (if (if #{tmp 2957}#
                                (@apply
-                                 (lambda (#{x 2947}# #{dots 2948}# #{y 2949}#)
-                                   (#{ellipsis? 2908}# #{dots 2948}#))
-                                 #{tmp 2943}#)
+                                 (lambda (#{x 2961}# #{dots 2962}# #{y 2963}#)
+                                   (#{ellipsis? 2922}# #{dots 2962}#))
+                                 #{tmp 2957}#)
                                #f)
                            (@apply
-                             (lambda (#{x 2953}# #{dots 2954}# #{y 2955}#)
+                             (lambda (#{x 2967}# #{dots 2968}# #{y 2969}#)
                                (letrec*
-                                 ((#{f 2959}#
-                                    (lambda (#{y 2960}# #{k 2961}#)
-                                      (let ((#{tmp 2968}# #{y 2960}#))
-                                        (let ((#{tmp 2969}#
+                                 ((#{f 2973}#
+                                    (lambda (#{y 2974}# #{k 2975}#)
+                                      (let ((#{tmp 2982}# #{y 2974}#))
+                                        (let ((#{tmp 2983}#
                                                 ($sc-dispatch
-                                                  #{tmp 2968}#
+                                                  #{tmp 2982}#
                                                   '(any . any))))
-                                          (if (if #{tmp 2969}#
+                                          (if (if #{tmp 2983}#
                                                 (@apply
-                                                  (lambda (#{dots 2972}#
-                                                           #{y 2973}#)
-                                                    (#{ellipsis? 2908}#
-                                                      #{dots 2972}#))
-                                                  #{tmp 2969}#)
+                                                  (lambda (#{dots 2986}#
+                                                           #{y 2987}#)
+                                                    (#{ellipsis? 2922}#
+                                                      #{dots 2986}#))
+                                                  #{tmp 2983}#)
                                                 #f)
                                             (@apply
-                                              (lambda (#{dots 2976}#
-                                                       #{y 2977}#)
-                                                (#{f 2959}#
-                                                  #{y 2977}#
-                                                  (lambda (#{maps 2978}#)
+                                              (lambda (#{dots 2990}#
+                                                       #{y 2991}#)
+                                                (#{f 2973}#
+                                                  #{y 2991}#
+                                                  (lambda (#{maps 2992}#)
                                                     (call-with-values
                                                       (lambda ()
-                                                        (#{k 2961}#
+                                                        (#{k 2975}#
                                                           (cons '()
-                                                                #{maps 
2978}#)))
-                                                      (lambda (#{x 2980}#
-                                                               #{maps 2981}#)
-                                                        (if (null? (car #{maps 
2981}#))
+                                                                #{maps 
2992}#)))
+                                                      (lambda (#{x 2994}#
+                                                               #{maps 2995}#)
+                                                        (if (null? (car #{maps 
2995}#))
                                                           (syntax-violation
                                                             'syntax
                                                             "extra ellipsis"
-                                                            #{src 2904}#)
+                                                            #{src 2918}#)
                                                           (values
-                                                            (#{gen-mappend 
2893}#
-                                                              #{x 2980}#
-                                                              (car #{maps 
2981}#))
-                                                            (cdr #{maps 
2981}#))))))))
-                                              #{tmp 2969}#)
-                                            (let ((#{_ 2985}# #{tmp 2968}#))
+                                                            (#{gen-mappend 
2907}#
+                                                              #{x 2994}#
+                                                              (car #{maps 
2995}#))
+                                                            (cdr #{maps 
2995}#))))))))
+                                              #{tmp 2983}#)
+                                            (let ((#{_ 2999}# #{tmp 2982}#))
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{gen-syntax 2889}#
-                                                    #{src 2904}#
-                                                    #{y 2960}#
-                                                    #{r 2906}#
-                                                    #{maps 2907}#
-                                                    #{ellipsis? 2908}#
-                                                    #{mod 2909}#))
-                                                (lambda (#{y 2986}#
-                                                         #{maps 2987}#)
+                                                  (#{gen-syntax 2903}#
+                                                    #{src 2918}#
+                                                    #{y 2974}#
+                                                    #{r 2920}#
+                                                    #{maps 2921}#
+                                                    #{ellipsis? 2922}#
+                                                    #{mod 2923}#))
+                                                (lambda (#{y 3000}#
+                                                         #{maps 3001}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{k 2961}#
-                                                        #{maps 2987}#))
-                                                    (lambda (#{x 2990}#
-                                                             #{maps 2991}#)
+                                                      (#{k 2975}#
+                                                        #{maps 3001}#))
+                                                    (lambda (#{x 3004}#
+                                                             #{maps 3005}#)
                                                       (values
-                                                        (#{gen-append 2899}#
-                                                          #{x 2990}#
-                                                          #{y 2986}#)
-                                                        #{maps 
2991}#))))))))))))
+                                                        (#{gen-append 2913}#
+                                                          #{x 3004}#
+                                                          #{y 3000}#)
+                                                        #{maps 
3005}#))))))))))))
                                  (begin
-                                   (#{f 2959}#
-                                     #{y 2955}#
-                                     (lambda (#{maps 2962}#)
+                                   (#{f 2973}#
+                                     #{y 2969}#
+                                     (lambda (#{maps 2976}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{gen-syntax 2889}#
-                                             #{src 2904}#
-                                             #{x 2953}#
-                                             #{r 2906}#
-                                             (cons '() #{maps 2962}#)
-                                             #{ellipsis? 2908}#
-                                             #{mod 2909}#))
-                                         (lambda (#{x 2964}# #{maps 2965}#)
-                                           (if (null? (car #{maps 2965}#))
+                                           (#{gen-syntax 2903}#
+                                             #{src 2918}#
+                                             #{x 2967}#
+                                             #{r 2920}#
+                                             (cons '() #{maps 2976}#)
+                                             #{ellipsis? 2922}#
+                                             #{mod 2923}#))
+                                         (lambda (#{x 2978}# #{maps 2979}#)
+                                           (if (null? (car #{maps 2979}#))
                                              (syntax-violation
                                                'syntax
                                                "extra ellipsis"
-                                               #{src 2904}#)
+                                               #{src 2918}#)
                                              (values
-                                               (#{gen-map 2895}#
-                                                 #{x 2964}#
-                                                 (car #{maps 2965}#))
-                                               (cdr #{maps 2965}#))))))))))
-                             #{tmp 2943}#)
-                           (let ((#{tmp 2994}#
-                                   ($sc-dispatch #{tmp 2931}# '(any . any))))
-                             (if #{tmp 2994}#
+                                               (#{gen-map 2909}#
+                                                 #{x 2978}#
+                                                 (car #{maps 2979}#))
+                                               (cdr #{maps 2979}#))))))))))
+                             #{tmp 2957}#)
+                           (let ((#{tmp 3008}#
+                                   ($sc-dispatch #{tmp 2945}# '(any . any))))
+                             (if #{tmp 3008}#
                                (@apply
-                                 (lambda (#{x 2997}# #{y 2998}#)
+                                 (lambda (#{x 3011}# #{y 3012}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 2889}#
-                                         #{src 2904}#
-                                         #{x 2997}#
-                                         #{r 2906}#
-                                         #{maps 2907}#
-                                         #{ellipsis? 2908}#
-                                         #{mod 2909}#))
-                                     (lambda (#{x 2999}# #{maps 3000}#)
+                                       (#{gen-syntax 2903}#
+                                         #{src 2918}#
+                                         #{x 3011}#
+                                         #{r 2920}#
+                                         #{maps 2921}#
+                                         #{ellipsis? 2922}#
+                                         #{mod 2923}#))
+                                     (lambda (#{x 3013}# #{maps 3014}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{gen-syntax 2889}#
-                                             #{src 2904}#
-                                             #{y 2998}#
-                                             #{r 2906}#
-                                             #{maps 3000}#
-                                             #{ellipsis? 2908}#
-                                             #{mod 2909}#))
-                                         (lambda (#{y 3003}# #{maps 3004}#)
+                                           (#{gen-syntax 2903}#
+                                             #{src 2918}#
+                                             #{y 3012}#
+                                             #{r 2920}#
+                                             #{maps 3014}#
+                                             #{ellipsis? 2922}#
+                                             #{mod 2923}#))
+                                         (lambda (#{y 3017}# #{maps 3018}#)
                                            (values
-                                             (#{gen-cons 2897}#
-                                               #{x 2999}#
-                                               #{y 3003}#)
-                                             #{maps 3004}#))))))
-                                 #{tmp 2994}#)
-                               (let ((#{tmp 3007}#
+                                             (#{gen-cons 2911}#
+                                               #{x 3013}#
+                                               #{y 3017}#)
+                                             #{maps 3018}#))))))
+                                 #{tmp 3008}#)
+                               (let ((#{tmp 3021}#
                                        ($sc-dispatch
-                                         #{tmp 2931}#
+                                         #{tmp 2945}#
                                          '#(vector (any . each-any)))))
-                                 (if #{tmp 3007}#
+                                 (if #{tmp 3021}#
                                    (@apply
-                                     (lambda (#{e1 3010}# #{e2 3011}#)
+                                     (lambda (#{e1 3024}# #{e2 3025}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{gen-syntax 2889}#
-                                             #{src 2904}#
-                                             (cons #{e1 3010}# #{e2 3011}#)
-                                             #{r 2906}#
-                                             #{maps 2907}#
-                                             #{ellipsis? 2908}#
-                                             #{mod 2909}#))
-                                         (lambda (#{e 3013}# #{maps 3014}#)
+                                           (#{gen-syntax 2903}#
+                                             #{src 2918}#
+                                             (cons #{e1 3024}# #{e2 3025}#)
+                                             #{r 2920}#
+                                             #{maps 2921}#
+                                             #{ellipsis? 2922}#
+                                             #{mod 2923}#))
+                                         (lambda (#{e 3027}# #{maps 3028}#)
                                            (values
-                                             (#{gen-vector 2901}# #{e 3013}#)
-                                             #{maps 3014}#))))
-                                     #{tmp 3007}#)
-                                   (let ((#{_ 3018}# #{tmp 2931}#))
+                                             (#{gen-vector 2915}# #{e 3027}#)
+                                             #{maps 3028}#))))
+                                     #{tmp 3021}#)
+                                   (let ((#{_ 3032}# #{tmp 2945}#))
                                      (values
-                                       (list 'quote #{e 2905}#)
-                                       #{maps 2907}#))))))))))))))
-           (#{gen-ref 2891}#
-             (lambda (#{src 3020}#
-                      #{var 3021}#
-                      #{level 3022}#
-                      #{maps 3023}#)
-               (if (= #{level 3022}# 0)
-                 (values #{var 3021}# #{maps 3023}#)
-                 (if (null? #{maps 3023}#)
+                                       (list 'quote #{e 2919}#)
+                                       #{maps 2921}#))))))))))))))
+           (#{gen-ref 2905}#
+             (lambda (#{src 3034}#
+                      #{var 3035}#
+                      #{level 3036}#
+                      #{maps 3037}#)
+               (if (= #{level 3036}# 0)
+                 (values #{var 3035}# #{maps 3037}#)
+                 (if (null? #{maps 3037}#)
                    (syntax-violation
                      'syntax
                      "missing ellipsis"
-                     #{src 3020}#)
+                     #{src 3034}#)
                    (call-with-values
                      (lambda ()
-                       (#{gen-ref 2891}#
-                         #{src 3020}#
-                         #{var 3021}#
-                         (#{1-}# #{level 3022}#)
-                         (cdr #{maps 3023}#)))
-                     (lambda (#{outer-var 3030}# #{outer-maps 3031}#)
+                       (#{gen-ref 2905}#
+                         #{src 3034}#
+                         #{var 3035}#
+                         (#{1-}# #{level 3036}#)
+                         (cdr #{maps 3037}#)))
+                     (lambda (#{outer-var 3044}# #{outer-maps 3045}#)
                        (begin
-                         (let ((#{b 3035}#
-                                 (assq #{outer-var 3030}#
-                                       (car #{maps 3023}#))))
-                           (if #{b 3035}#
-                             (values (cdr #{b 3035}#) #{maps 3023}#)
+                         (let ((#{b 3049}#
+                                 (assq #{outer-var 3044}#
+                                       (car #{maps 3037}#))))
+                           (if #{b 3049}#
+                             (values (cdr #{b 3049}#) #{maps 3037}#)
                              (begin
-                               (let ((#{inner-var 3037}#
-                                       (#{gen-var 447}# 'tmp)))
+                               (let ((#{inner-var 3051}#
+                                       (#{gen-var 460}# 'tmp)))
                                  (values
-                                   #{inner-var 3037}#
-                                   (cons (cons (cons #{outer-var 3030}#
-                                                     #{inner-var 3037}#)
-                                               (car #{maps 3023}#))
-                                         #{outer-maps 3031}#)))))))))))))
-           (#{gen-mappend 2893}#
-             (lambda (#{e 3038}# #{map-env 3039}#)
+                                   #{inner-var 3051}#
+                                   (cons (cons (cons #{outer-var 3044}#
+                                                     #{inner-var 3051}#)
+                                               (car #{maps 3037}#))
+                                         #{outer-maps 3045}#)))))))))))))
+           (#{gen-mappend 2907}#
+             (lambda (#{e 3052}# #{map-env 3053}#)
                (list 'apply
                      '(primitive append)
-                     (#{gen-map 2895}# #{e 3038}# #{map-env 3039}#))))
-           (#{gen-map 2895}#
-             (lambda (#{e 3043}# #{map-env 3044}#)
+                     (#{gen-map 2909}# #{e 3052}# #{map-env 3053}#))))
+           (#{gen-map 2909}#
+             (lambda (#{e 3057}# #{map-env 3058}#)
                (begin
-                 (let ((#{formals 3049}# (map cdr #{map-env 3044}#))
-                       (#{actuals 3050}#
-                         (map (lambda (#{x 3051}#)
-                                (list 'ref (car #{x 3051}#)))
-                              #{map-env 3044}#)))
-                   (if (eq? (car #{e 3043}#) 'ref)
-                     (car #{actuals 3050}#)
+                 (let ((#{formals 3063}# (map cdr #{map-env 3058}#))
+                       (#{actuals 3064}#
+                         (map (lambda (#{x 3065}#)
+                                (list 'ref (car #{x 3065}#)))
+                              #{map-env 3058}#)))
+                   (if (eq? (car #{e 3057}#) 'ref)
+                     (car #{actuals 3064}#)
                      (if (and-map
-                           (lambda (#{x 3058}#)
-                             (if (eq? (car #{x 3058}#) 'ref)
-                               (memq (car (cdr #{x 3058}#)) #{formals 3049}#)
+                           (lambda (#{x 3072}#)
+                             (if (eq? (car #{x 3072}#) 'ref)
+                               (memq (car (cdr #{x 3072}#)) #{formals 3063}#)
                                #f))
-                           (cdr #{e 3043}#))
+                           (cdr #{e 3057}#))
                        (cons 'map
-                             (cons (list 'primitive (car #{e 3043}#))
+                             (cons (list 'primitive (car #{e 3057}#))
                                    (map (begin
-                                          (let ((#{r 3064}#
+                                          (let ((#{r 3078}#
                                                   (map cons
-                                                       #{formals 3049}#
-                                                       #{actuals 3050}#)))
-                                            (lambda (#{x 3065}#)
-                                              (cdr (assq (car (cdr #{x 3065}#))
-                                                         #{r 3064}#)))))
-                                        (cdr #{e 3043}#))))
+                                                       #{formals 3063}#
+                                                       #{actuals 3064}#)))
+                                            (lambda (#{x 3079}#)
+                                              (cdr (assq (car (cdr #{x 3079}#))
+                                                         #{r 3078}#)))))
+                                        (cdr #{e 3057}#))))
                        (cons 'map
-                             (cons (list 'lambda #{formals 3049}# #{e 3043}#)
-                                   #{actuals 3050}#))))))))
-           (#{gen-cons 2897}#
-             (lambda (#{x 3069}# #{y 3070}#)
+                             (cons (list 'lambda #{formals 3063}# #{e 3057}#)
+                                   #{actuals 3064}#))))))))
+           (#{gen-cons 2911}#
+             (lambda (#{x 3083}# #{y 3084}#)
                (begin
-                 (let ((#{atom-key 3075}# (car #{y 3070}#)))
-                   (if (eqv? #{atom-key 3075}# 'quote)
-                     (if (eq? (car #{x 3069}#) 'quote)
+                 (let ((#{atom-key 3089}# (car #{y 3084}#)))
+                   (if (eqv? #{atom-key 3089}# 'quote)
+                     (if (eq? (car #{x 3083}#) 'quote)
                        (list 'quote
-                             (cons (car (cdr #{x 3069}#))
-                                   (car (cdr #{y 3070}#))))
-                       (if (eq? (car (cdr #{y 3070}#)) '())
-                         (list 'list #{x 3069}#)
-                         (list 'cons #{x 3069}# #{y 3070}#)))
-                     (if (eqv? #{atom-key 3075}# 'list)
-                       (cons 'list (cons #{x 3069}# (cdr #{y 3070}#)))
-                       (list 'cons #{x 3069}# #{y 3070}#)))))))
-           (#{gen-append 2899}#
-             (lambda (#{x 3084}# #{y 3085}#)
-               (if (equal? #{y 3085}# ''())
-                 #{x 3084}#
-                 (list 'append #{x 3084}# #{y 3085}#))))
-           (#{gen-vector 2901}#
-             (lambda (#{x 3089}#)
-               (if (eq? (car #{x 3089}#) 'list)
-                 (cons 'vector (cdr #{x 3089}#))
-                 (if (eq? (car #{x 3089}#) 'quote)
+                             (cons (car (cdr #{x 3083}#))
+                                   (car (cdr #{y 3084}#))))
+                       (if (eq? (car (cdr #{y 3084}#)) '())
+                         (list 'list #{x 3083}#)
+                         (list 'cons #{x 3083}# #{y 3084}#)))
+                     (if (eqv? #{atom-key 3089}# 'list)
+                       (cons 'list (cons #{x 3083}# (cdr #{y 3084}#)))
+                       (list 'cons #{x 3083}# #{y 3084}#)))))))
+           (#{gen-append 2913}#
+             (lambda (#{x 3098}# #{y 3099}#)
+               (if (equal? #{y 3099}# ''())
+                 #{x 3098}#
+                 (list 'append #{x 3098}# #{y 3099}#))))
+           (#{gen-vector 2915}#
+             (lambda (#{x 3103}#)
+               (if (eq? (car #{x 3103}#) 'list)
+                 (cons 'vector (cdr #{x 3103}#))
+                 (if (eq? (car #{x 3103}#) 'quote)
                    (list 'quote
-                         (list->vector (car (cdr #{x 3089}#))))
-                   (list 'list->vector #{x 3089}#)))))
-           (#{regen 2903}#
-             (lambda (#{x 3099}#)
+                         (list->vector (car (cdr #{x 3103}#))))
+                   (list 'list->vector #{x 3103}#)))))
+           (#{regen 2917}#
+             (lambda (#{x 3113}#)
                (begin
-                 (let ((#{atom-key 3103}# (car #{x 3099}#)))
-                   (if (eqv? #{atom-key 3103}# 'ref)
-                     (#{build-lexical-reference 271}#
+                 (let ((#{atom-key 3117}# (car #{x 3113}#)))
+                   (if (eqv? #{atom-key 3117}# 'ref)
+                     (#{build-lexical-reference 272}#
                        'value
                        #f
-                       (car (cdr #{x 3099}#))
-                       (car (cdr #{x 3099}#)))
-                     (if (eqv? #{atom-key 3103}# 'primitive)
-                       (#{build-primref 289}# #f (car (cdr #{x 3099}#)))
-                       (if (eqv? #{atom-key 3103}# 'quote)
-                         (#{build-data 291}# #f (car (cdr #{x 3099}#)))
-                         (if (eqv? #{atom-key 3103}# 'lambda)
-                           (if (list? (car (cdr #{x 3099}#)))
-                             (#{build-simple-lambda 283}#
+                       (car (cdr #{x 3113}#))
+                       (car (cdr #{x 3113}#)))
+                     (if (eqv? #{atom-key 3117}# 'primitive)
+                       (#{build-primref 290}# #f (car (cdr #{x 3113}#)))
+                       (if (eqv? #{atom-key 3117}# 'quote)
+                         (#{build-data 292}# #f (car (cdr #{x 3113}#)))
+                         (if (eqv? #{atom-key 3117}# 'lambda)
+                           (if (list? (car (cdr #{x 3113}#)))
+                             (#{build-simple-lambda 284}#
                                #f
-                               (car (cdr #{x 3099}#))
+                               (car (cdr #{x 3113}#))
                                #f
-                               (car (cdr #{x 3099}#))
+                               (car (cdr #{x 3113}#))
                                '()
-                               (#{regen 2903}# (car (cdr (cdr #{x 3099}#)))))
-                             (error "how did we get here" #{x 3099}#))
-                           (#{build-application 265}#
+                               (#{regen 2917}# (car (cdr (cdr #{x 3113}#)))))
+                             (error "how did we get here" #{x 3113}#))
+                           (#{build-application 266}#
                              #f
-                             (#{build-primref 289}# #f (car #{x 3099}#))
-                             (map #{regen 2903}# (cdr #{x 3099}#))))))))))))
+                             (#{build-primref 290}# #f (car #{x 3113}#))
+                             (map #{regen 2917}# (cdr #{x 3113}#))))))))))))
           (begin
-            (lambda (#{e 3115}#
-                     #{r 3116}#
-                     #{w 3117}#
-                     #{s 3118}#
-                     #{mod 3119}#)
+            (lambda (#{e 3129}#
+                     #{r 3130}#
+                     #{w 3131}#
+                     #{s 3132}#
+                     #{mod 3133}#)
               (begin
-                (let ((#{e 3126}#
-                        (#{source-wrap 407}#
-                          #{e 3115}#
-                          #{w 3117}#
-                          #{s 3118}#
-                          #{mod 3119}#)))
-                  (let ((#{tmp 3127}# #{e 3126}#))
-                    (let ((#{tmp 3128}#
-                            ($sc-dispatch #{tmp 3127}# '(_ any))))
-                      (if #{tmp 3128}#
+                (let ((#{e 3140}#
+                        (#{source-wrap 420}#
+                          #{e 3129}#
+                          #{w 3131}#
+                          #{s 3132}#
+                          #{mod 3133}#)))
+                  (let ((#{tmp 3141}# #{e 3140}#))
+                    (let ((#{tmp 3142}#
+                            ($sc-dispatch #{tmp 3141}# '(_ any))))
+                      (if #{tmp 3142}#
                         (@apply
-                          (lambda (#{x 3130}#)
+                          (lambda (#{x 3144}#)
                             (call-with-values
                               (lambda ()
-                                (#{gen-syntax 2889}#
-                                  #{e 3126}#
-                                  #{x 3130}#
-                                  #{r 3116}#
+                                (#{gen-syntax 2903}#
+                                  #{e 3140}#
+                                  #{x 3144}#
+                                  #{r 3130}#
                                   '()
-                                  #{ellipsis? 435}#
-                                  #{mod 3119}#))
-                              (lambda (#{e 3131}# #{maps 3132}#)
-                                (#{regen 2903}# #{e 3131}#))))
-                          #{tmp 3128}#)
-                        (let ((#{_ 3136}# #{tmp 3127}#))
+                                  #{ellipsis? 448}#
+                                  #{mod 3133}#))
+                              (lambda (#{e 3145}# #{maps 3146}#)
+                                (#{regen 2917}# #{e 3145}#))))
+                          #{tmp 3142}#)
+                        (let ((#{_ 3150}# #{tmp 3141}#))
                           (syntax-violation
                             'syntax
                             "bad `syntax' form"
-                            #{e 3126}#)))))))))))
-      (#{global-extend 335}#
+                            #{e 3140}#)))))))))))
+      (#{global-extend 340}#
         'core
         'lambda
-        (lambda (#{e 3137}#
-                 #{r 3138}#
-                 #{w 3139}#
-                 #{s 3140}#
-                 #{mod 3141}#)
-          (let ((#{tmp 3147}# #{e 3137}#))
-            (let ((#{tmp 3148}#
+        (lambda (#{e 3151}#
+                 #{r 3152}#
+                 #{w 3153}#
+                 #{s 3154}#
+                 #{mod 3155}#)
+          (let ((#{tmp 3161}# #{e 3151}#))
+            (let ((#{tmp 3162}#
                     ($sc-dispatch
-                      #{tmp 3147}#
+                      #{tmp 3161}#
                       '(_ any any . each-any))))
-              (if #{tmp 3148}#
+              (if #{tmp 3162}#
                 (@apply
-                  (lambda (#{args 3152}# #{e1 3153}# #{e2 3154}#)
+                  (lambda (#{args 3166}# #{e1 3167}# #{e2 3168}#)
                     (call-with-values
                       (lambda ()
-                        (#{lambda-formals 437}# #{args 3152}#))
-                      (lambda (#{req 3155}#
-                               #{opt 3156}#
-                               #{rest 3157}#
-                               #{kw 3158}#)
+                        (#{lambda-formals 450}# #{args 3166}#))
+                      (lambda (#{req 3169}#
+                               #{opt 3170}#
+                               #{rest 3171}#
+                               #{kw 3172}#)
                         (letrec*
-                          ((#{lp 3166}#
-                             (lambda (#{body 3167}# #{meta 3168}#)
-                               (let ((#{tmp 3170}# #{body 3167}#))
-                                 (let ((#{tmp 3171}#
+                          ((#{lp 3180}#
+                             (lambda (#{body 3181}# #{meta 3182}#)
+                               (let ((#{tmp 3184}# #{body 3181}#))
+                                 (let ((#{tmp 3185}#
                                          ($sc-dispatch
-                                           #{tmp 3170}#
+                                           #{tmp 3184}#
                                            '(any any . each-any))))
-                                   (if (if #{tmp 3171}#
+                                   (if (if #{tmp 3185}#
                                          (@apply
-                                           (lambda (#{docstring 3175}#
-                                                    #{e1 3176}#
-                                                    #{e2 3177}#)
+                                           (lambda (#{docstring 3189}#
+                                                    #{e1 3190}#
+                                                    #{e2 3191}#)
                                              (string?
                                                (syntax->datum
-                                                 #{docstring 3175}#)))
-                                           #{tmp 3171}#)
+                                                 #{docstring 3189}#)))
+                                           #{tmp 3185}#)
                                          #f)
                                      (@apply
-                                       (lambda (#{docstring 3181}#
-                                                #{e1 3182}#
-                                                #{e2 3183}#)
-                                         (#{lp 3166}#
-                                           (cons #{e1 3182}# #{e2 3183}#)
+                                       (lambda (#{docstring 3195}#
+                                                #{e1 3196}#
+                                                #{e2 3197}#)
+                                         (#{lp 3180}#
+                                           (cons #{e1 3196}# #{e2 3197}#)
                                            (append
-                                             #{meta 3168}#
+                                             #{meta 3182}#
                                              (list (cons 'documentation
                                                          (syntax->datum
-                                                           #{docstring 
3181}#))))))
-                                       #{tmp 3171}#)
-                                     (let ((#{tmp 3186}#
+                                                           #{docstring 
3195}#))))))
+                                       #{tmp 3185}#)
+                                     (let ((#{tmp 3200}#
                                              ($sc-dispatch
-                                               #{tmp 3170}#
+                                               #{tmp 3184}#
                                                '(#(vector #(each (any . any)))
                                                  any
                                                  .
                                                  each-any))))
-                                       (if #{tmp 3186}#
+                                       (if #{tmp 3200}#
                                          (@apply
-                                           (lambda (#{k 3191}#
-                                                    #{v 3192}#
-                                                    #{e1 3193}#
-                                                    #{e2 3194}#)
-                                             (#{lp 3166}#
-                                               (cons #{e1 3193}# #{e2 3194}#)
+                                           (lambda (#{k 3205}#
+                                                    #{v 3206}#
+                                                    #{e1 3207}#
+                                                    #{e2 3208}#)
+                                             (#{lp 3180}#
+                                               (cons #{e1 3207}# #{e2 3208}#)
                                                (append
-                                                 #{meta 3168}#
+                                                 #{meta 3182}#
                                                  (syntax->datum
                                                    (map cons
-                                                        #{k 3191}#
-                                                        #{v 3192}#)))))
-                                           #{tmp 3186}#)
-                                         (let ((#{_ 3199}# #{tmp 3170}#))
-                                           (#{chi-simple-lambda 439}#
-                                             #{e 3137}#
-                                             #{r 3138}#
-                                             #{w 3139}#
-                                             #{s 3140}#
-                                             #{mod 3141}#
-                                             #{req 3155}#
-                                             #{rest 3157}#
-                                             #{meta 3168}#
-                                             #{body 3167}#))))))))))
+                                                        #{k 3205}#
+                                                        #{v 3206}#)))))
+                                           #{tmp 3200}#)
+                                         (let ((#{_ 3213}# #{tmp 3184}#))
+                                           (#{chi-simple-lambda 452}#
+                                             #{e 3151}#
+                                             #{r 3152}#
+                                             #{w 3153}#
+                                             #{s 3154}#
+                                             #{mod 3155}#
+                                             #{req 3169}#
+                                             #{rest 3171}#
+                                             #{meta 3182}#
+                                             #{body 3181}#))))))))))
                           (begin
-                            (#{lp 3166}#
-                              (cons #{e1 3153}# #{e2 3154}#)
+                            (#{lp 3180}#
+                              (cons #{e1 3167}# #{e2 3168}#)
                               '()))))))
-                  #{tmp 3148}#)
-                (let ((#{_ 3201}# #{tmp 3147}#))
+                  #{tmp 3162}#)
+                (let ((#{_ 3215}# #{tmp 3161}#))
                   (syntax-violation
                     'lambda
                     "bad lambda"
-                    #{e 3137}#)))))))
-      (#{global-extend 335}#
+                    #{e 3151}#)))))))
+      (#{global-extend 340}#
         'core
         'lambda*
-        (lambda (#{e 3202}#
-                 #{r 3203}#
-                 #{w 3204}#
-                 #{s 3205}#
-                 #{mod 3206}#)
-          (let ((#{tmp 3212}# #{e 3202}#))
-            (let ((#{tmp 3213}#
+        (lambda (#{e 3216}#
+                 #{r 3217}#
+                 #{w 3218}#
+                 #{s 3219}#
+                 #{mod 3220}#)
+          (let ((#{tmp 3226}# #{e 3216}#))
+            (let ((#{tmp 3227}#
                     ($sc-dispatch
-                      #{tmp 3212}#
+                      #{tmp 3226}#
                       '(_ any any . each-any))))
-              (if #{tmp 3213}#
+              (if #{tmp 3227}#
                 (@apply
-                  (lambda (#{args 3217}# #{e1 3218}# #{e2 3219}#)
+                  (lambda (#{args 3231}# #{e1 3232}# #{e2 3233}#)
                     (call-with-values
                       (lambda ()
-                        (#{chi-lambda-case 443}#
-                          #{e 3202}#
-                          #{r 3203}#
-                          #{w 3204}#
-                          #{s 3205}#
-                          #{mod 3206}#
-                          #{lambda*-formals 441}#
-                          (list (cons #{args 3217}#
-                                      (cons #{e1 3218}# #{e2 3219}#)))))
-                      (lambda (#{meta 3221}# #{lcase 3222}#)
-                        (#{build-case-lambda 285}#
-                          #{s 3205}#
-                          #{meta 3221}#
-                          #{lcase 3222}#))))
-                  #{tmp 3213}#)
-                (let ((#{_ 3226}# #{tmp 3212}#))
+                        (#{chi-lambda-case 456}#
+                          #{e 3216}#
+                          #{r 3217}#
+                          #{w 3218}#
+                          #{s 3219}#
+                          #{mod 3220}#
+                          #{lambda*-formals 454}#
+                          (list (cons #{args 3231}#
+                                      (cons #{e1 3232}# #{e2 3233}#)))))
+                      (lambda (#{meta 3235}# #{lcase 3236}#)
+                        (#{build-case-lambda 286}#
+                          #{s 3219}#
+                          #{meta 3235}#
+                          #{lcase 3236}#))))
+                  #{tmp 3227}#)
+                (let ((#{_ 3240}# #{tmp 3226}#))
                   (syntax-violation
                     'lambda
                     "bad lambda*"
-                    #{e 3202}#)))))))
-      (#{global-extend 335}#
+                    #{e 3216}#)))))))
+      (#{global-extend 340}#
         'core
         'case-lambda
-        (lambda (#{e 3227}#
-                 #{r 3228}#
-                 #{w 3229}#
-                 #{s 3230}#
-                 #{mod 3231}#)
-          (let ((#{tmp 3237}# #{e 3227}#))
-            (let ((#{tmp 3238}#
+        (lambda (#{e 3241}#
+                 #{r 3242}#
+                 #{w 3243}#
+                 #{s 3244}#
+                 #{mod 3245}#)
+          (let ((#{tmp 3251}# #{e 3241}#))
+            (let ((#{tmp 3252}#
                     ($sc-dispatch
-                      #{tmp 3237}#
+                      #{tmp 3251}#
                       '(_ (any any . each-any)
                           .
                           #(each (any any . each-any))))))
-              (if #{tmp 3238}#
+              (if #{tmp 3252}#
                 (@apply
-                  (lambda (#{args 3245}#
-                           #{e1 3246}#
-                           #{e2 3247}#
-                           #{args* 3248}#
-                           #{e1* 3249}#
-                           #{e2* 3250}#)
+                  (lambda (#{args 3259}#
+                           #{e1 3260}#
+                           #{e2 3261}#
+                           #{args* 3262}#
+                           #{e1* 3263}#
+                           #{e2* 3264}#)
                     (call-with-values
                       (lambda ()
-                        (#{chi-lambda-case 443}#
-                          #{e 3227}#
-                          #{r 3228}#
-                          #{w 3229}#
-                          #{s 3230}#
-                          #{mod 3231}#
-                          #{lambda-formals 437}#
-                          (cons (cons #{args 3245}#
-                                      (cons #{e1 3246}# #{e2 3247}#))
-                                (map (lambda (#{tmp 3254}#
-                                              #{tmp 3253}#
-                                              #{tmp 3252}#)
-                                       (cons #{tmp 3252}#
-                                             (cons #{tmp 3253}# #{tmp 3254}#)))
-                                     #{e2* 3250}#
-                                     #{e1* 3249}#
-                                     #{args* 3248}#))))
-                      (lambda (#{meta 3256}# #{lcase 3257}#)
-                        (#{build-case-lambda 285}#
-                          #{s 3230}#
-                          #{meta 3256}#
-                          #{lcase 3257}#))))
-                  #{tmp 3238}#)
-                (let ((#{_ 3261}# #{tmp 3237}#))
+                        (#{chi-lambda-case 456}#
+                          #{e 3241}#
+                          #{r 3242}#
+                          #{w 3243}#
+                          #{s 3244}#
+                          #{mod 3245}#
+                          #{lambda-formals 450}#
+                          (cons (cons #{args 3259}#
+                                      (cons #{e1 3260}# #{e2 3261}#))
+                                (map (lambda (#{tmp 3268}#
+                                              #{tmp 3267}#
+                                              #{tmp 3266}#)
+                                       (cons #{tmp 3266}#
+                                             (cons #{tmp 3267}# #{tmp 3268}#)))
+                                     #{e2* 3264}#
+                                     #{e1* 3263}#
+                                     #{args* 3262}#))))
+                      (lambda (#{meta 3270}# #{lcase 3271}#)
+                        (#{build-case-lambda 286}#
+                          #{s 3244}#
+                          #{meta 3270}#
+                          #{lcase 3271}#))))
+                  #{tmp 3252}#)
+                (let ((#{_ 3275}# #{tmp 3251}#))
                   (syntax-violation
                     'case-lambda
                     "bad case-lambda"
-                    #{e 3227}#)))))))
-      (#{global-extend 335}#
+                    #{e 3241}#)))))))
+      (#{global-extend 340}#
         'core
         'case-lambda*
-        (lambda (#{e 3262}#
-                 #{r 3263}#
-                 #{w 3264}#
-                 #{s 3265}#
-                 #{mod 3266}#)
-          (let ((#{tmp 3272}# #{e 3262}#))
-            (let ((#{tmp 3273}#
+        (lambda (#{e 3276}#
+                 #{r 3277}#
+                 #{w 3278}#
+                 #{s 3279}#
+                 #{mod 3280}#)
+          (let ((#{tmp 3286}# #{e 3276}#))
+            (let ((#{tmp 3287}#
                     ($sc-dispatch
-                      #{tmp 3272}#
+                      #{tmp 3286}#
                       '(_ (any any . each-any)
                           .
                           #(each (any any . each-any))))))
-              (if #{tmp 3273}#
+              (if #{tmp 3287}#
                 (@apply
-                  (lambda (#{args 3280}#
-                           #{e1 3281}#
-                           #{e2 3282}#
-                           #{args* 3283}#
-                           #{e1* 3284}#
-                           #{e2* 3285}#)
+                  (lambda (#{args 3294}#
+                           #{e1 3295}#
+                           #{e2 3296}#
+                           #{args* 3297}#
+                           #{e1* 3298}#
+                           #{e2* 3299}#)
                     (call-with-values
                       (lambda ()
-                        (#{chi-lambda-case 443}#
-                          #{e 3262}#
-                          #{r 3263}#
-                          #{w 3264}#
-                          #{s 3265}#
-                          #{mod 3266}#
-                          #{lambda*-formals 441}#
-                          (cons (cons #{args 3280}#
-                                      (cons #{e1 3281}# #{e2 3282}#))
-                                (map (lambda (#{tmp 3289}#
-                                              #{tmp 3288}#
-                                              #{tmp 3287}#)
-                                       (cons #{tmp 3287}#
-                                             (cons #{tmp 3288}# #{tmp 3289}#)))
-                                     #{e2* 3285}#
-                                     #{e1* 3284}#
-                                     #{args* 3283}#))))
-                      (lambda (#{meta 3291}# #{lcase 3292}#)
-                        (#{build-case-lambda 285}#
-                          #{s 3265}#
-                          #{meta 3291}#
-                          #{lcase 3292}#))))
-                  #{tmp 3273}#)
-                (let ((#{_ 3296}# #{tmp 3272}#))
+                        (#{chi-lambda-case 456}#
+                          #{e 3276}#
+                          #{r 3277}#
+                          #{w 3278}#
+                          #{s 3279}#
+                          #{mod 3280}#
+                          #{lambda*-formals 454}#
+                          (cons (cons #{args 3294}#
+                                      (cons #{e1 3295}# #{e2 3296}#))
+                                (map (lambda (#{tmp 3303}#
+                                              #{tmp 3302}#
+                                              #{tmp 3301}#)
+                                       (cons #{tmp 3301}#
+                                             (cons #{tmp 3302}# #{tmp 3303}#)))
+                                     #{e2* 3299}#
+                                     #{e1* 3298}#
+                                     #{args* 3297}#))))
+                      (lambda (#{meta 3305}# #{lcase 3306}#)
+                        (#{build-case-lambda 286}#
+                          #{s 3279}#
+                          #{meta 3305}#
+                          #{lcase 3306}#))))
+                  #{tmp 3287}#)
+                (let ((#{_ 3310}# #{tmp 3286}#))
                   (syntax-violation
                     'case-lambda
                     "bad case-lambda*"
-                    #{e 3262}#)))))))
-      (#{global-extend 335}#
+                    #{e 3276}#)))))))
+      (#{global-extend 340}#
         'core
         'let
         (letrec*
-          ((#{chi-let 3298}#
-             (lambda (#{e 3299}#
-                      #{r 3300}#
-                      #{w 3301}#
-                      #{s 3302}#
-                      #{mod 3303}#
-                      #{constructor 3304}#
-                      #{ids 3305}#
-                      #{vals 3306}#
-                      #{exps 3307}#)
-               (if (not (#{valid-bound-ids? 399}# #{ids 3305}#))
+          ((#{chi-let 3312}#
+             (lambda (#{e 3313}#
+                      #{r 3314}#
+                      #{w 3315}#
+                      #{s 3316}#
+                      #{mod 3317}#
+                      #{constructor 3318}#
+                      #{ids 3319}#
+                      #{vals 3320}#
+                      #{exps 3321}#)
+               (if (not (#{valid-bound-ids? 412}# #{ids 3319}#))
                  (syntax-violation
                    'let
                    "duplicate bound variable"
-                   #{e 3299}#)
+                   #{e 3313}#)
                  (begin
-                   (let ((#{labels 3319}#
-                           (#{gen-labels 354}# #{ids 3305}#))
-                         (#{new-vars 3320}#
-                           (map #{gen-var 447}# #{ids 3305}#)))
+                   (let ((#{labels 3333}#
+                           (#{gen-labels 364}# #{ids 3319}#))
+                         (#{new-vars 3334}#
+                           (map #{gen-var 460}# #{ids 3319}#)))
                      (begin
-                       (let ((#{nw 3323}#
-                               (#{make-binding-wrap 383}#
-                                 #{ids 3305}#
-                                 #{labels 3319}#
-                                 #{w 3301}#))
-                             (#{nr 3324}#
-                               (#{extend-var-env 329}#
-                                 #{labels 3319}#
-                                 #{new-vars 3320}#
-                                 #{r 3300}#)))
-                         (#{constructor 3304}#
-                           #{s 3302}#
-                           (map syntax->datum #{ids 3305}#)
-                           #{new-vars 3320}#
-                           (map (lambda (#{x 3325}#)
-                                  (#{chi 419}#
-                                    #{x 3325}#
-                                    #{r 3300}#
-                                    #{w 3301}#
-                                    #{mod 3303}#))
-                                #{vals 3306}#)
-                           (#{chi-body 427}#
-                             #{exps 3307}#
-                             (#{source-wrap 407}#
-                               #{e 3299}#
-                               #{nw 3323}#
-                               #{s 3302}#
-                               #{mod 3303}#)
-                             #{nr 3324}#
-                             #{nw 3323}#
-                             #{mod 3303}#))))))))))
+                       (let ((#{nw 3337}#
+                               (#{make-binding-wrap 396}#
+                                 #{ids 3319}#
+                                 #{labels 3333}#
+                                 #{w 3315}#))
+                             (#{nr 3338}#
+                               (#{extend-var-env 334}#
+                                 #{labels 3333}#
+                                 #{new-vars 3334}#
+                                 #{r 3314}#)))
+                         (#{constructor 3318}#
+                           #{s 3316}#
+                           (map syntax->datum #{ids 3319}#)
+                           #{new-vars 3334}#
+                           (map (lambda (#{x 3339}#)
+                                  (#{chi 432}#
+                                    #{x 3339}#
+                                    #{r 3314}#
+                                    #{w 3315}#
+                                    #{mod 3317}#))
+                                #{vals 3320}#)
+                           (#{chi-body 440}#
+                             #{exps 3321}#
+                             (#{source-wrap 420}#
+                               #{e 3313}#
+                               #{nw 3337}#
+                               #{s 3316}#
+                               #{mod 3317}#)
+                             #{nr 3338}#
+                             #{nw 3337}#
+                             #{mod 3317}#))))))))))
           (begin
-            (lambda (#{e 3327}#
-                     #{r 3328}#
-                     #{w 3329}#
-                     #{s 3330}#
-                     #{mod 3331}#)
-              (let ((#{tmp 3337}# #{e 3327}#))
-                (let ((#{tmp 3338}#
+            (lambda (#{e 3341}#
+                     #{r 3342}#
+                     #{w 3343}#
+                     #{s 3344}#
+                     #{mod 3345}#)
+              (let ((#{tmp 3351}# #{e 3341}#))
+                (let ((#{tmp 3352}#
                         ($sc-dispatch
-                          #{tmp 3337}#
+                          #{tmp 3351}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if (if #{tmp 3338}#
+                  (if (if #{tmp 3352}#
                         (@apply
-                          (lambda (#{id 3343}#
-                                   #{val 3344}#
-                                   #{e1 3345}#
-                                   #{e2 3346}#)
-                            (and-map #{id? 339}# #{id 3343}#))
-                          #{tmp 3338}#)
+                          (lambda (#{id 3357}#
+                                   #{val 3358}#
+                                   #{e1 3359}#
+                                   #{e2 3360}#)
+                            (and-map #{id? 344}# #{id 3357}#))
+                          #{tmp 3352}#)
                         #f)
                     (@apply
-                      (lambda (#{id 3352}#
-                               #{val 3353}#
-                               #{e1 3354}#
-                               #{e2 3355}#)
-                        (#{chi-let 3298}#
-                          #{e 3327}#
-                          #{r 3328}#
-                          #{w 3329}#
-                          #{s 3330}#
-                          #{mod 3331}#
-                          #{build-let 295}#
-                          #{id 3352}#
-                          #{val 3353}#
-                          (cons #{e1 3354}# #{e2 3355}#)))
-                      #{tmp 3338}#)
-                    (let ((#{tmp 3359}#
+                      (lambda (#{id 3366}#
+                               #{val 3367}#
+                               #{e1 3368}#
+                               #{e2 3369}#)
+                        (#{chi-let 3312}#
+                          #{e 3341}#
+                          #{r 3342}#
+                          #{w 3343}#
+                          #{s 3344}#
+                          #{mod 3345}#
+                          #{build-let 296}#
+                          #{id 3366}#
+                          #{val 3367}#
+                          (cons #{e1 3368}# #{e2 3369}#)))
+                      #{tmp 3352}#)
+                    (let ((#{tmp 3373}#
                             ($sc-dispatch
-                              #{tmp 3337}#
+                              #{tmp 3351}#
                               '(_ any #(each (any any)) any . each-any))))
-                      (if (if #{tmp 3359}#
+                      (if (if #{tmp 3373}#
                             (@apply
-                              (lambda (#{f 3365}#
-                                       #{id 3366}#
-                                       #{val 3367}#
-                                       #{e1 3368}#
-                                       #{e2 3369}#)
-                                (if (#{id? 339}# #{f 3365}#)
-                                  (and-map #{id? 339}# #{id 3366}#)
+                              (lambda (#{f 3379}#
+                                       #{id 3380}#
+                                       #{val 3381}#
+                                       #{e1 3382}#
+                                       #{e2 3383}#)
+                                (if (#{id? 344}# #{f 3379}#)
+                                  (and-map #{id? 344}# #{id 3380}#)
                                   #f))
-                              #{tmp 3359}#)
+                              #{tmp 3373}#)
                             #f)
                         (@apply
-                          (lambda (#{f 3378}#
-                                   #{id 3379}#
-                                   #{val 3380}#
-                                   #{e1 3381}#
-                                   #{e2 3382}#)
-                            (#{chi-let 3298}#
-                              #{e 3327}#
-                              #{r 3328}#
-                              #{w 3329}#
-                              #{s 3330}#
-                              #{mod 3331}#
-                              #{build-named-let 297}#
-                              (cons #{f 3378}# #{id 3379}#)
-                              #{val 3380}#
-                              (cons #{e1 3381}# #{e2 3382}#)))
-                          #{tmp 3359}#)
-                        (let ((#{_ 3387}# #{tmp 3337}#))
+                          (lambda (#{f 3392}#
+                                   #{id 3393}#
+                                   #{val 3394}#
+                                   #{e1 3395}#
+                                   #{e2 3396}#)
+                            (#{chi-let 3312}#
+                              #{e 3341}#
+                              #{r 3342}#
+                              #{w 3343}#
+                              #{s 3344}#
+                              #{mod 3345}#
+                              #{build-named-let 298}#
+                              (cons #{f 3392}# #{id 3393}#)
+                              #{val 3394}#
+                              (cons #{e1 3395}# #{e2 3396}#)))
+                          #{tmp 3373}#)
+                        (let ((#{_ 3401}# #{tmp 3351}#))
                           (syntax-violation
                             'let
                             "bad let"
-                            (#{source-wrap 407}#
-                              #{e 3327}#
-                              #{w 3329}#
-                              #{s 3330}#
-                              #{mod 3331}#))))))))))))
-      (#{global-extend 335}#
+                            (#{source-wrap 420}#
+                              #{e 3341}#
+                              #{w 3343}#
+                              #{s 3344}#
+                              #{mod 3345}#))))))))))))
+      (#{global-extend 340}#
         'core
         'letrec
-        (lambda (#{e 3388}#
-                 #{r 3389}#
-                 #{w 3390}#
-                 #{s 3391}#
-                 #{mod 3392}#)
-          (let ((#{tmp 3398}# #{e 3388}#))
-            (let ((#{tmp 3399}#
+        (lambda (#{e 3402}#
+                 #{r 3403}#
+                 #{w 3404}#
+                 #{s 3405}#
+                 #{mod 3406}#)
+          (let ((#{tmp 3412}# #{e 3402}#))
+            (let ((#{tmp 3413}#
                     ($sc-dispatch
-                      #{tmp 3398}#
+                      #{tmp 3412}#
                       '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3399}#
+              (if (if #{tmp 3413}#
                     (@apply
-                      (lambda (#{id 3404}#
-                               #{val 3405}#
-                               #{e1 3406}#
-                               #{e2 3407}#)
-                        (and-map #{id? 339}# #{id 3404}#))
-                      #{tmp 3399}#)
+                      (lambda (#{id 3418}#
+                               #{val 3419}#
+                               #{e1 3420}#
+                               #{e2 3421}#)
+                        (and-map #{id? 344}# #{id 3418}#))
+                      #{tmp 3413}#)
                     #f)
                 (@apply
-                  (lambda (#{id 3413}#
-                           #{val 3414}#
-                           #{e1 3415}#
-                           #{e2 3416}#)
+                  (lambda (#{id 3427}#
+                           #{val 3428}#
+                           #{e1 3429}#
+                           #{e2 3430}#)
                     (begin
-                      (let ((#{ids 3418}# #{id 3413}#))
-                        (if (not (#{valid-bound-ids? 399}# #{ids 3418}#))
+                      (let ((#{ids 3432}# #{id 3427}#))
+                        (if (not (#{valid-bound-ids? 412}# #{ids 3432}#))
                           (syntax-violation
                             'letrec
                             "duplicate bound variable"
-                            #{e 3388}#)
+                            #{e 3402}#)
                           (begin
-                            (let ((#{labels 3422}#
-                                    (#{gen-labels 354}# #{ids 3418}#))
-                                  (#{new-vars 3423}#
-                                    (map #{gen-var 447}# #{ids 3418}#)))
+                            (let ((#{labels 3436}#
+                                    (#{gen-labels 364}# #{ids 3432}#))
+                                  (#{new-vars 3437}#
+                                    (map #{gen-var 460}# #{ids 3432}#)))
                               (begin
-                                (let ((#{w 3426}#
-                                        (#{make-binding-wrap 383}#
-                                          #{ids 3418}#
-                                          #{labels 3422}#
-                                          #{w 3390}#))
-                                      (#{r 3427}#
-                                        (#{extend-var-env 329}#
-                                          #{labels 3422}#
-                                          #{new-vars 3423}#
-                                          #{r 3389}#)))
-                                  (#{build-letrec 299}#
-                                    #{s 3391}#
+                                (let ((#{w 3440}#
+                                        (#{make-binding-wrap 396}#
+                                          #{ids 3432}#
+                                          #{labels 3436}#
+                                          #{w 3404}#))
+                                      (#{r 3441}#
+                                        (#{extend-var-env 334}#
+                                          #{labels 3436}#
+                                          #{new-vars 3437}#
+                                          #{r 3403}#)))
+                                  (#{build-letrec 300}#
+                                    #{s 3405}#
                                     #f
-                                    (map syntax->datum #{ids 3418}#)
-                                    #{new-vars 3423}#
-                                    (map (lambda (#{x 3428}#)
-                                           (#{chi 419}#
-                                             #{x 3428}#
-                                             #{r 3427}#
-                                             #{w 3426}#
-                                             #{mod 3392}#))
-                                         #{val 3414}#)
-                                    (#{chi-body 427}#
-                                      (cons #{e1 3415}# #{e2 3416}#)
-                                      (#{source-wrap 407}#
-                                        #{e 3388}#
-                                        #{w 3426}#
-                                        #{s 3391}#
-                                        #{mod 3392}#)
-                                      #{r 3427}#
-                                      #{w 3426}#
-                                      #{mod 3392}#))))))))))
-                  #{tmp 3399}#)
-                (let ((#{_ 3433}# #{tmp 3398}#))
+                                    (map syntax->datum #{ids 3432}#)
+                                    #{new-vars 3437}#
+                                    (map (lambda (#{x 3442}#)
+                                           (#{chi 432}#
+                                             #{x 3442}#
+                                             #{r 3441}#
+                                             #{w 3440}#
+                                             #{mod 3406}#))
+                                         #{val 3428}#)
+                                    (#{chi-body 440}#
+                                      (cons #{e1 3429}# #{e2 3430}#)
+                                      (#{source-wrap 420}#
+                                        #{e 3402}#
+                                        #{w 3440}#
+                                        #{s 3405}#
+                                        #{mod 3406}#)
+                                      #{r 3441}#
+                                      #{w 3440}#
+                                      #{mod 3406}#))))))))))
+                  #{tmp 3413}#)
+                (let ((#{_ 3447}# #{tmp 3412}#))
                   (syntax-violation
                     'letrec
                     "bad letrec"
-                    (#{source-wrap 407}#
-                      #{e 3388}#
-                      #{w 3390}#
-                      #{s 3391}#
-                      #{mod 3392}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 420}#
+                      #{e 3402}#
+                      #{w 3404}#
+                      #{s 3405}#
+                      #{mod 3406}#))))))))
+      (#{global-extend 340}#
         'core
         'letrec*
-        (lambda (#{e 3434}#
-                 #{r 3435}#
-                 #{w 3436}#
-                 #{s 3437}#
-                 #{mod 3438}#)
-          (let ((#{tmp 3444}# #{e 3434}#))
-            (let ((#{tmp 3445}#
+        (lambda (#{e 3448}#
+                 #{r 3449}#
+                 #{w 3450}#
+                 #{s 3451}#
+                 #{mod 3452}#)
+          (let ((#{tmp 3458}# #{e 3448}#))
+            (let ((#{tmp 3459}#
                     ($sc-dispatch
-                      #{tmp 3444}#
+                      #{tmp 3458}#
                       '(_ #(each (any any)) any . each-any))))
-              (if (if #{tmp 3445}#
+              (if (if #{tmp 3459}#
                     (@apply
-                      (lambda (#{id 3450}#
-                               #{val 3451}#
-                               #{e1 3452}#
-                               #{e2 3453}#)
-                        (and-map #{id? 339}# #{id 3450}#))
-                      #{tmp 3445}#)
+                      (lambda (#{id 3464}#
+                               #{val 3465}#
+                               #{e1 3466}#
+                               #{e2 3467}#)
+                        (and-map #{id? 344}# #{id 3464}#))
+                      #{tmp 3459}#)
                     #f)
                 (@apply
-                  (lambda (#{id 3459}#
-                           #{val 3460}#
-                           #{e1 3461}#
-                           #{e2 3462}#)
+                  (lambda (#{id 3473}#
+                           #{val 3474}#
+                           #{e1 3475}#
+                           #{e2 3476}#)
                     (begin
-                      (let ((#{ids 3464}# #{id 3459}#))
-                        (if (not (#{valid-bound-ids? 399}# #{ids 3464}#))
+                      (let ((#{ids 3478}# #{id 3473}#))
+                        (if (not (#{valid-bound-ids? 412}# #{ids 3478}#))
                           (syntax-violation
                             'letrec*
                             "duplicate bound variable"
-                            #{e 3434}#)
+                            #{e 3448}#)
                           (begin
-                            (let ((#{labels 3468}#
-                                    (#{gen-labels 354}# #{ids 3464}#))
-                                  (#{new-vars 3469}#
-                                    (map #{gen-var 447}# #{ids 3464}#)))
+                            (let ((#{labels 3482}#
+                                    (#{gen-labels 364}# #{ids 3478}#))
+                                  (#{new-vars 3483}#
+                                    (map #{gen-var 460}# #{ids 3478}#)))
                               (begin
-                                (let ((#{w 3472}#
-                                        (#{make-binding-wrap 383}#
-                                          #{ids 3464}#
-                                          #{labels 3468}#
-                                          #{w 3436}#))
-                                      (#{r 3473}#
-                                        (#{extend-var-env 329}#
-                                          #{labels 3468}#
-                                          #{new-vars 3469}#
-                                          #{r 3435}#)))
-                                  (#{build-letrec 299}#
-                                    #{s 3437}#
+                                (let ((#{w 3486}#
+                                        (#{make-binding-wrap 396}#
+                                          #{ids 3478}#
+                                          #{labels 3482}#
+                                          #{w 3450}#))
+                                      (#{r 3487}#
+                                        (#{extend-var-env 334}#
+                                          #{labels 3482}#
+                                          #{new-vars 3483}#
+                                          #{r 3449}#)))
+                                  (#{build-letrec 300}#
+                                    #{s 3451}#
                                     #t
-                                    (map syntax->datum #{ids 3464}#)
-                                    #{new-vars 3469}#
-                                    (map (lambda (#{x 3474}#)
-                                           (#{chi 419}#
-                                             #{x 3474}#
-                                             #{r 3473}#
-                                             #{w 3472}#
-                                             #{mod 3438}#))
-                                         #{val 3460}#)
-                                    (#{chi-body 427}#
-                                      (cons #{e1 3461}# #{e2 3462}#)
-                                      (#{source-wrap 407}#
-                                        #{e 3434}#
-                                        #{w 3472}#
-                                        #{s 3437}#
-                                        #{mod 3438}#)
-                                      #{r 3473}#
-                                      #{w 3472}#
-                                      #{mod 3438}#))))))))))
-                  #{tmp 3445}#)
-                (let ((#{_ 3479}# #{tmp 3444}#))
+                                    (map syntax->datum #{ids 3478}#)
+                                    #{new-vars 3483}#
+                                    (map (lambda (#{x 3488}#)
+                                           (#{chi 432}#
+                                             #{x 3488}#
+                                             #{r 3487}#
+                                             #{w 3486}#
+                                             #{mod 3452}#))
+                                         #{val 3474}#)
+                                    (#{chi-body 440}#
+                                      (cons #{e1 3475}# #{e2 3476}#)
+                                      (#{source-wrap 420}#
+                                        #{e 3448}#
+                                        #{w 3486}#
+                                        #{s 3451}#
+                                        #{mod 3452}#)
+                                      #{r 3487}#
+                                      #{w 3486}#
+                                      #{mod 3452}#))))))))))
+                  #{tmp 3459}#)
+                (let ((#{_ 3493}# #{tmp 3458}#))
                   (syntax-violation
                     'letrec*
                     "bad letrec*"
-                    (#{source-wrap 407}#
-                      #{e 3434}#
-                      #{w 3436}#
-                      #{s 3437}#
-                      #{mod 3438}#))))))))
-      (#{global-extend 335}#
+                    (#{source-wrap 420}#
+                      #{e 3448}#
+                      #{w 3450}#
+                      #{s 3451}#
+                      #{mod 3452}#))))))))
+      (#{global-extend 340}#
         'core
         'set!
-        (lambda (#{e 3480}#
-                 #{r 3481}#
-                 #{w 3482}#
-                 #{s 3483}#
-                 #{mod 3484}#)
-          (let ((#{tmp 3490}# #{e 3480}#))
-            (let ((#{tmp 3491}#
-                    ($sc-dispatch #{tmp 3490}# '(_ any any))))
-              (if (if #{tmp 3491}#
+        (lambda (#{e 3494}#
+                 #{r 3495}#
+                 #{w 3496}#
+                 #{s 3497}#
+                 #{mod 3498}#)
+          (let ((#{tmp 3504}# #{e 3494}#))
+            (let ((#{tmp 3505}#
+                    ($sc-dispatch #{tmp 3504}# '(_ any any))))
+              (if (if #{tmp 3505}#
                     (@apply
-                      (lambda (#{id 3494}# #{val 3495}#)
-                        (#{id? 339}# #{id 3494}#))
-                      #{tmp 3491}#)
+                      (lambda (#{id 3508}# #{val 3509}#)
+                        (#{id? 344}# #{id 3508}#))
+                      #{tmp 3505}#)
                     #f)
                 (@apply
-                  (lambda (#{id 3498}# #{val 3499}#)
+                  (lambda (#{id 3512}# #{val 3513}#)
                     (begin
-                      (let ((#{n 3502}#
-                              (#{id-var-name 393}# #{id 3498}# #{w 3482}#))
-                            (#{id-mod 3503}#
-                              (if (#{syntax-object? 305}# #{id 3498}#)
-                                (#{syntax-object-module 311}# #{id 3498}#)
-                                #{mod 3484}#)))
+                      (let ((#{n 3516}#
+                              (#{id-var-name 406}# #{id 3512}# #{w 3496}#))
+                            (#{id-mod 3517}#
+                              (if (#{syntax-object? 307}# #{id 3512}#)
+                                (#{syntax-object-module 313}# #{id 3512}#)
+                                #{mod 3498}#)))
                         (begin
-                          (let ((#{b 3505}#
-                                  (#{lookup 333}#
-                                    #{n 3502}#
-                                    #{r 3481}#
-                                    #{id-mod 3503}#)))
+                          (let ((#{b 3519}#
+                                  (#{lookup 338}#
+                                    #{n 3516}#
+                                    #{r 3495}#
+                                    #{id-mod 3517}#)))
                             (begin
-                              (let ((#{atom-key 3508}# (car #{b 3505}#)))
-                                (if (eqv? #{atom-key 3508}# 'lexical)
-                                  (#{build-lexical-assignment 273}#
-                                    #{s 3483}#
-                                    (syntax->datum #{id 3498}#)
-                                    (cdr #{b 3505}#)
-                                    (#{chi 419}#
-                                      #{val 3499}#
-                                      #{r 3481}#
-                                      #{w 3482}#
-                                      #{mod 3484}#))
-                                  (if (eqv? #{atom-key 3508}# 'global)
-                                    (#{build-global-assignment 279}#
-                                      #{s 3483}#
-                                      #{n 3502}#
-                                      (#{chi 419}#
-                                        #{val 3499}#
-                                        #{r 3481}#
-                                        #{w 3482}#
-                                        #{mod 3484}#)
-                                      #{id-mod 3503}#)
-                                    (if (eqv? #{atom-key 3508}# 'macro)
+                              (let ((#{atom-key 3522}# (car #{b 3519}#)))
+                                (if (eqv? #{atom-key 3522}# 'lexical)
+                                  (#{build-lexical-assignment 274}#
+                                    #{s 3497}#
+                                    (syntax->datum #{id 3512}#)
+                                    (cdr #{b 3519}#)
+                                    (#{chi 432}#
+                                      #{val 3513}#
+                                      #{r 3495}#
+                                      #{w 3496}#
+                                      #{mod 3498}#))
+                                  (if (eqv? #{atom-key 3522}# 'global)
+                                    (#{build-global-assignment 280}#
+                                      #{s 3497}#
+                                      #{n 3516}#
+                                      (#{chi 432}#
+                                        #{val 3513}#
+                                        #{r 3495}#
+                                        #{w 3496}#
+                                        #{mod 3498}#)
+                                      #{id-mod 3517}#)
+                                    (if (eqv? #{atom-key 3522}# 'macro)
                                       (begin
-                                        (let ((#{p 3515}# (cdr #{b 3505}#)))
+                                        (let ((#{p 3529}# (cdr #{b 3519}#)))
                                           (if (procedure-property
-                                                #{p 3515}#
+                                                #{p 3529}#
                                                 'variable-transformer)
-                                            (#{chi 419}#
-                                              (#{chi-macro 425}#
-                                                #{p 3515}#
-                                                #{e 3480}#
-                                                #{r 3481}#
-                                                #{w 3482}#
-                                                #{s 3483}#
+                                            (#{chi 432}#
+                                              (#{chi-macro 438}#
+                                                #{p 3529}#
+                                                #{e 3494}#
+                                                #{r 3495}#
+                                                #{w 3496}#
+                                                #{s 3497}#
                                                 #f
-                                                #{mod 3484}#)
-                                              #{r 3481}#
+                                                #{mod 3498}#)
+                                              #{r 3495}#
                                               '(())
-                                              #{mod 3484}#)
+                                              #{mod 3498}#)
                                             (syntax-violation
                                               'set!
                                               "not a variable transformer"
-                                              (#{wrap 405}#
-                                                #{e 3480}#
-                                                #{w 3482}#
-                                                #{mod 3484}#)
-                                              (#{wrap 405}#
-                                                #{id 3498}#
-                                                #{w 3482}#
-                                                #{id-mod 3503}#)))))
-                                      (if (eqv? #{atom-key 3508}#
+                                              (#{wrap 418}#
+                                                #{e 3494}#
+                                                #{w 3496}#
+                                                #{mod 3498}#)
+                                              (#{wrap 418}#
+                                                #{id 3512}#
+                                                #{w 3496}#
+                                                #{id-mod 3517}#)))))
+                                      (if (eqv? #{atom-key 3522}#
                                                 'displaced-lexical)
                                         (syntax-violation
                                           'set!
                                           "identifier out of context"
-                                          (#{wrap 405}#
-                                            #{id 3498}#
-                                            #{w 3482}#
-                                            #{mod 3484}#))
+                                          (#{wrap 418}#
+                                            #{id 3512}#
+                                            #{w 3496}#
+                                            #{mod 3498}#))
                                         (syntax-violation
                                           'set!
                                           "bad set!"
-                                          (#{source-wrap 407}#
-                                            #{e 3480}#
-                                            #{w 3482}#
-                                            #{s 3483}#
-                                            #{mod 3484}#)))))))))))))
-                  #{tmp 3491}#)
-                (let ((#{tmp 3520}#
+                                          (#{source-wrap 420}#
+                                            #{e 3494}#
+                                            #{w 3496}#
+                                            #{s 3497}#
+                                            #{mod 3498}#)))))))))))))
+                  #{tmp 3505}#)
+                (let ((#{tmp 3534}#
                         ($sc-dispatch
-                          #{tmp 3490}#
+                          #{tmp 3504}#
                           '(_ (any . each-any) any))))
-                  (if #{tmp 3520}#
+                  (if #{tmp 3534}#
                     (@apply
-                      (lambda (#{head 3524}# #{tail 3525}# #{val 3526}#)
+                      (lambda (#{head 3538}# #{tail 3539}# #{val 3540}#)
                         (call-with-values
                           (lambda ()
-                            (#{syntax-type 417}#
-                              #{head 3524}#
-                              #{r 3481}#
+                            (#{syntax-type 430}#
+                              #{head 3538}#
+                              #{r 3495}#
                               '(())
                               #f
                               #f
-                              #{mod 3484}#
+                              #{mod 3498}#
                               #t))
-                          (lambda (#{type 3529}#
-                                   #{value 3530}#
-                                   #{ee 3531}#
-                                   #{ww 3532}#
-                                   #{ss 3533}#
-                                   #{modmod 3534}#)
-                            (if (eqv? #{type 3529}# 'module-ref)
+                          (lambda (#{type 3543}#
+                                   #{value 3544}#
+                                   #{ee 3545}#
+                                   #{ww 3546}#
+                                   #{ss 3547}#
+                                   #{modmod 3548}#)
+                            (if (eqv? #{type 3543}# 'module-ref)
                               (begin
-                                (let ((#{val 3543}#
-                                        (#{chi 419}#
-                                          #{val 3526}#
-                                          #{r 3481}#
-                                          #{w 3482}#
-                                          #{mod 3484}#)))
+                                (let ((#{val 3557}#
+                                        (#{chi 432}#
+                                          #{val 3540}#
+                                          #{r 3495}#
+                                          #{w 3496}#
+                                          #{mod 3498}#)))
                                   (call-with-values
                                     (lambda ()
-                                      (#{value 3530}#
-                                        (cons #{head 3524}# #{tail 3525}#)
-                                        #{r 3481}#
-                                        #{w 3482}#))
-                                    (lambda (#{e 3545}#
-                                             #{r 3546}#
-                                             #{w 3547}#
-                                             #{s* 3548}#
-                                             #{mod 3549}#)
-                                      (let ((#{tmp 3555}# #{e 3545}#))
-                                        (let ((#{tmp 3556}#
-                                                (list #{tmp 3555}#)))
-                                          (if (if #{tmp 3556}#
+                                      (#{value 3544}#
+                                        (cons #{head 3538}# #{tail 3539}#)
+                                        #{r 3495}#
+                                        #{w 3496}#))
+                                    (lambda (#{e 3559}#
+                                             #{r 3560}#
+                                             #{w 3561}#
+                                             #{s* 3562}#
+                                             #{mod 3563}#)
+                                      (let ((#{tmp 3569}# #{e 3559}#))
+                                        (let ((#{tmp 3570}#
+                                                (list #{tmp 3569}#)))
+                                          (if (if #{tmp 3570}#
                                                 (@apply
-                                                  (lambda (#{e 3558}#)
-                                                    (#{id? 339}# #{e 3558}#))
-                                                  #{tmp 3556}#)
+                                                  (lambda (#{e 3572}#)
+                                                    (#{id? 344}# #{e 3572}#))
+                                                  #{tmp 3570}#)
                                                 #f)
                                             (@apply
-                                              (lambda (#{e 3560}#)
-                                                (#{build-global-assignment 
279}#
-                                                  #{s 3483}#
-                                                  (syntax->datum #{e 3560}#)
-                                                  #{val 3543}#
-                                                  #{mod 3549}#))
-                                              #{tmp 3556}#)
+                                              (lambda (#{e 3574}#)
+                                                (#{build-global-assignment 
280}#
+                                                  #{s 3497}#
+                                                  (syntax->datum #{e 3574}#)
+                                                  #{val 3557}#
+                                                  #{mod 3563}#))
+                                              #{tmp 3570}#)
                                             (syntax-violation
                                               #f
                                               "source expression failed to 
match any pattern"
-                                              #{tmp 3555}#))))))))
-                              (#{build-application 265}#
-                                #{s 3483}#
-                                (#{chi 419}#
+                                              #{tmp 3569}#))))))))
+                              (#{build-application 266}#
+                                #{s 3497}#
+                                (#{chi 432}#
                                   (list '#(syntax-object
                                            setter
                                            ((top)
@@ -9930,25 +9930,25 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                              #("i3535"
-                                                "i3536"
-                                                "i3537"
-                                                "i3538"
-                                                "i3539"
-                                                "i3540"))
+                                              #("i3549"
+                                                "i3550"
+                                                "i3551"
+                                                "i3552"
+                                                "i3553"
+                                                "i3554"))
                                             #(ribcage
                                               #(head tail val)
                                               #((top) (top) (top))
-                                              #("i3521" "i3522" "i3523"))
+                                              #("i3535" "i3536" "i3537"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(e r w s mod)
                                               #((top) (top) (top) (top) (top))
-                                              #("i3485"
-                                                "i3486"
-                                                "i3487"
-                                                "i3488"
-                                                "i3489"))
+                                              #("i3499"
+                                                "i3500"
+                                                "i3501"
+                                                "i3502"
+                                                "i3503"))
                                             #(ribcage
                                               (lambda-var-list
                                                 gen-var
@@ -10222,81 +10222,82 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i448"
-                                               "i446"
-                                               "i444"
-                                               "i442"
-                                               "i440"
-                                               "i438"
-                                               "i436"
-                                               "i434"
-                                               "i432"
-                                               "i430"
-                                               "i428"
-                                               "i426"
-                                               "i424"
-                                               "i422"
-                                               "i420"
-                                               "i418"
-                                               "i416"
-                                               "i414"
-                                               "i412"
-                                               "i410"
-                                               "i408"
-                                               "i406"
-                                               "i404"
-                                               "i402"
-                                               "i400"
-                                               "i398"
-                                               "i396"
-                                               "i394"
+                                              ("i461"
+                                               "i459"
+                                               "i457"
+                                               "i455"
+                                               "i453"
+                                               "i451"
+                                               "i449"
+                                               "i447"
+                                               "i445"
+                                               "i443"
+                                               "i441"
+                                               "i439"
+                                               "i437"
+                                               "i435"
+                                               "i433"
+                                               "i431"
+                                               "i429"
+                                               "i427"
+                                               "i425"
+                                               "i423"
+                                               "i421"
+                                               "i419"
+                                               "i417"
+                                               "i415"
+                                               "i413"
+                                               "i411"
+                                               "i409"
+                                               "i407"
+                                               "i405"
+                                               "i403"
+                                               "i401"
+                                               "i399"
+                                               "i397"
+                                               "i395"
+                                               "i393"
                                                "i392"
                                                "i390"
-                                               "i388"
+                                               "i387"
                                                "i386"
-                                               "i384"
+                                               "i385"
+                                               "i383"
                                                "i382"
                                                "i380"
-                                               "i379"
                                                "i378"
                                                "i376"
-                                               "i375"
                                                "i374"
-                                               "i373"
                                                "i372"
                                                "i370"
                                                "i368"
                                                "i366"
-                                               "i364"
-                                               "i362"
+                                               "i363"
+                                               "i361"
                                                "i360"
                                                "i358"
                                                "i356"
-                                               "i353"
+                                               "i354"
+                                               "i352"
                                                "i351"
                                                "i350"
                                                "i349"
-                                               "i348"
                                                "i347"
                                                "i346"
-                                               "i345"
-                                               "i344"
                                                "i343"
                                                "i341"
-                                               "i340"
-                                               "i338"
-                                               "i336"
-                                               "i334"
-                                               "i332"
+                                               "i339"
+                                               "i337"
+                                               "i335"
+                                               "i333"
+                                               "i331"
                                                "i330"
-                                               "i328"
-                                               "i326"
+                                               "i329"
+                                               "i327"
                                                "i325"
                                                "i324"
-                                               "i323"
-                                               "i322"
                                                "i321"
-                                               "i319"
+                                               "i320"
                                                "i318"
                                                "i316"
                                                "i314"
@@ -10306,31 +10307,30 @@
                                                "i306"
                                                "i304"
                                                "i302"
-                                               "i300"
-                                               "i298"
-                                               "i296"
-                                               "i294"
-                                               "i292"
-                                               "i290"
-                                               "i288"
-                                               "i286"
-                                               "i284"
-                                               "i282"
-                                               "i280"
-                                               "i278"
-                                               "i276"
-                                               "i274"
-                                               "i272"
-                                               "i270"
-                                               "i268"
-                                               "i266"
-                                               "i264"
-                                               "i262"
-                                               "i260"
-                                               "i258"
-                                               "i256"
+                                               "i299"
+                                               "i297"
+                                               "i295"
+                                               "i293"
+                                               "i291"
+                                               "i289"
+                                               "i287"
+                                               "i285"
+                                               "i283"
+                                               "i281"
+                                               "i279"
+                                               "i277"
+                                               "i275"
+                                               "i273"
+                                               "i271"
+                                               "i269"
+                                               "i267"
+                                               "i265"
+                                               "i263"
+                                               "i261"
+                                               "i259"
+                                               "i257"
+                                               "i255"
                                                "i254"
-                                               "i253"
                                                "i251"
                                                "i249"
                                                "i248"
@@ -10365,50 +10365,50 @@
                                               ((top) (top) (top))
                                               ("i40" "i39" "i38")))
                                            (hygiene guile))
-                                        #{head 3524}#)
-                                  #{r 3481}#
-                                  #{w 3482}#
-                                  #{mod 3484}#)
-                                (map (lambda (#{e 3562}#)
-                                       (#{chi 419}#
-                                         #{e 3562}#
-                                         #{r 3481}#
-                                         #{w 3482}#
-                                         #{mod 3484}#))
+                                        #{head 3538}#)
+                                  #{r 3495}#
+                                  #{w 3496}#
+                                  #{mod 3498}#)
+                                (map (lambda (#{e 3576}#)
+                                       (#{chi 432}#
+                                         #{e 3576}#
+                                         #{r 3495}#
+                                         #{w 3496}#
+                                         #{mod 3498}#))
                                      (append
-                                       #{tail 3525}#
-                                       (list #{val 3526}#))))))))
-                      #{tmp 3520}#)
-                    (let ((#{_ 3566}# #{tmp 3490}#))
+                                       #{tail 3539}#
+                                       (list #{val 3540}#))))))))
+                      #{tmp 3534}#)
+                    (let ((#{_ 3580}# #{tmp 3504}#))
                       (syntax-violation
                         'set!
                         "bad set!"
-                        (#{source-wrap 407}#
-                          #{e 3480}#
-                          #{w 3482}#
-                          #{s 3483}#
-                          #{mod 3484}#))))))))))
-      (#{global-extend 335}#
+                        (#{source-wrap 420}#
+                          #{e 3494}#
+                          #{w 3496}#
+                          #{s 3497}#
+                          #{mod 3498}#))))))))))
+      (#{global-extend 340}#
         'module-ref
         '@
-        (lambda (#{e 3567}# #{r 3568}# #{w 3569}#)
-          (let ((#{tmp 3573}# #{e 3567}#))
-            (let ((#{tmp 3574}#
-                    ($sc-dispatch #{tmp 3573}# '(_ each-any any))))
-              (if (if #{tmp 3574}#
+        (lambda (#{e 3581}# #{r 3582}# #{w 3583}#)
+          (let ((#{tmp 3587}# #{e 3581}#))
+            (let ((#{tmp 3588}#
+                    ($sc-dispatch #{tmp 3587}# '(_ each-any any))))
+              (if (if #{tmp 3588}#
                     (@apply
-                      (lambda (#{mod 3577}# #{id 3578}#)
-                        (if (and-map #{id? 339}# #{mod 3577}#)
-                          (#{id? 339}# #{id 3578}#)
+                      (lambda (#{mod 3591}# #{id 3592}#)
+                        (if (and-map #{id? 344}# #{mod 3591}#)
+                          (#{id? 344}# #{id 3592}#)
                           #f))
-                      #{tmp 3574}#)
+                      #{tmp 3588}#)
                     #f)
                 (@apply
-                  (lambda (#{mod 3584}# #{id 3585}#)
+                  (lambda (#{mod 3598}# #{id 3599}#)
                     (values
-                      (syntax->datum #{id 3585}#)
-                      #{r 3568}#
-                      #{w 3569}#
+                      (syntax->datum #{id 3599}#)
+                      #{r 3582}#
+                      #{w 3583}#
                       #f
                       (syntax->datum
                         (cons '#(syntax-object
@@ -10417,12 +10417,12 @@
                                   #(ribcage
                                     #(mod id)
                                     #((top) (top))
-                                    #("i3582" "i3583"))
+                                    #("i3596" "i3597"))
                                   #(ribcage () () ())
                                   #(ribcage
                                     #(e r w)
                                     #((top) (top) (top))
-                                    #("i3570" "i3571" "i3572"))
+                                    #("i3584" "i3585" "i3586"))
                                   #(ribcage
                                     (lambda-var-list
                                       gen-var
@@ -10696,81 +10696,82 @@
                                      (top)
                                      (top)
                                      (top))
-                                    ("i448"
-                                     "i446"
-                                     "i444"
-                                     "i442"
-                                     "i440"
-                                     "i438"
-                                     "i436"
-                                     "i434"
-                                     "i432"
-                                     "i430"
-                                     "i428"
-                                     "i426"
-                                     "i424"
-                                     "i422"
-                                     "i420"
-                                     "i418"
-                                     "i416"
-                                     "i414"
-                                     "i412"
-                                     "i410"
-                                     "i408"
-                                     "i406"
-                                     "i404"
-                                     "i402"
-                                     "i400"
-                                     "i398"
-                                     "i396"
-                                     "i394"
+                                    ("i461"
+                                     "i459"
+                                     "i457"
+                                     "i455"
+                                     "i453"
+                                     "i451"
+                                     "i449"
+                                     "i447"
+                                     "i445"
+                                     "i443"
+                                     "i441"
+                                     "i439"
+                                     "i437"
+                                     "i435"
+                                     "i433"
+                                     "i431"
+                                     "i429"
+                                     "i427"
+                                     "i425"
+                                     "i423"
+                                     "i421"
+                                     "i419"
+                                     "i417"
+                                     "i415"
+                                     "i413"
+                                     "i411"
+                                     "i409"
+                                     "i407"
+                                     "i405"
+                                     "i403"
+                                     "i401"
+                                     "i399"
+                                     "i397"
+                                     "i395"
+                                     "i393"
                                      "i392"
                                      "i390"
-                                     "i388"
+                                     "i387"
                                      "i386"
-                                     "i384"
+                                     "i385"
+                                     "i383"
                                      "i382"
                                      "i380"
-                                     "i379"
                                      "i378"
                                      "i376"
-                                     "i375"
                                      "i374"
-                                     "i373"
                                      "i372"
                                      "i370"
                                      "i368"
                                      "i366"
-                                     "i364"
-                                     "i362"
+                                     "i363"
+                                     "i361"
                                      "i360"
                                      "i358"
                                      "i356"
-                                     "i353"
+                                     "i354"
+                                     "i352"
                                      "i351"
                                      "i350"
                                      "i349"
-                                     "i348"
                                      "i347"
                                      "i346"
-                                     "i345"
-                                     "i344"
                                      "i343"
                                      "i341"
-                                     "i340"
-                                     "i338"
-                                     "i336"
-                                     "i334"
-                                     "i332"
+                                     "i339"
+                                     "i337"
+                                     "i335"
+                                     "i333"
+                                     "i331"
                                      "i330"
-                                     "i328"
-                                     "i326"
+                                     "i329"
+                                     "i327"
                                      "i325"
                                      "i324"
-                                     "i323"
-                                     "i322"
                                      "i321"
-                                     "i319"
+                                     "i320"
                                      "i318"
                                      "i316"
                                      "i314"
@@ -10780,31 +10781,30 @@
                                      "i306"
                                      "i304"
                                      "i302"
-                                     "i300"
-                                     "i298"
-                                     "i296"
-                                     "i294"
-                                     "i292"
-                                     "i290"
-                                     "i288"
-                                     "i286"
-                                     "i284"
-                                     "i282"
-                                     "i280"
-                                     "i278"
-                                     "i276"
-                                     "i274"
-                                     "i272"
-                                     "i270"
-                                     "i268"
-                                     "i266"
-                                     "i264"
-                                     "i262"
-                                     "i260"
-                                     "i258"
-                                     "i256"
+                                     "i299"
+                                     "i297"
+                                     "i295"
+                                     "i293"
+                                     "i291"
+                                     "i289"
+                                     "i287"
+                                     "i285"
+                                     "i283"
+                                     "i281"
+                                     "i279"
+                                     "i277"
+                                     "i275"
+                                     "i273"
+                                     "i271"
+                                     "i269"
+                                     "i267"
+                                     "i265"
+                                     "i263"
+                                     "i261"
+                                     "i259"
+                                     "i257"
+                                     "i255"
                                      "i254"
-                                     "i253"
                                      "i251"
                                      "i249"
                                      "i248"
@@ -10839,70 +10839,70 @@
                                     ((top) (top) (top))
                                     ("i40" "i39" "i38")))
                                  (hygiene guile))
-                              #{mod 3584}#))))
-                  #{tmp 3574}#)
+                              #{mod 3598}#))))
+                  #{tmp 3588}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 3573}#))))))
-      (#{global-extend 335}#
+                  #{tmp 3587}#))))))
+      (#{global-extend 340}#
         'module-ref
         '@@
-        (lambda (#{e 3587}# #{r 3588}# #{w 3589}#)
+        (lambda (#{e 3601}# #{r 3602}# #{w 3603}#)
           (letrec*
-            ((#{remodulate 3594}#
-               (lambda (#{x 3595}# #{mod 3596}#)
-                 (if (pair? #{x 3595}#)
-                   (cons (#{remodulate 3594}#
-                           (car #{x 3595}#)
-                           #{mod 3596}#)
-                         (#{remodulate 3594}#
-                           (cdr #{x 3595}#)
-                           #{mod 3596}#))
-                   (if (#{syntax-object? 305}# #{x 3595}#)
-                     (#{make-syntax-object 303}#
-                       (#{remodulate 3594}#
-                         (#{syntax-object-expression 307}# #{x 3595}#)
-                         #{mod 3596}#)
-                       (#{syntax-object-wrap 309}# #{x 3595}#)
-                       #{mod 3596}#)
-                     (if (vector? #{x 3595}#)
+            ((#{remodulate 3608}#
+               (lambda (#{x 3609}# #{mod 3610}#)
+                 (if (pair? #{x 3609}#)
+                   (cons (#{remodulate 3608}#
+                           (car #{x 3609}#)
+                           #{mod 3610}#)
+                         (#{remodulate 3608}#
+                           (cdr #{x 3609}#)
+                           #{mod 3610}#))
+                   (if (#{syntax-object? 307}# #{x 3609}#)
+                     (#{make-syntax-object 305}#
+                       (#{remodulate 3608}#
+                         (#{syntax-object-expression 309}# #{x 3609}#)
+                         #{mod 3610}#)
+                       (#{syntax-object-wrap 311}# #{x 3609}#)
+                       #{mod 3610}#)
+                     (if (vector? #{x 3609}#)
                        (begin
-                         (let ((#{n 3607}# (vector-length #{x 3595}#)))
+                         (let ((#{n 3621}# (vector-length #{x 3609}#)))
                            (begin
-                             (let ((#{v 3609}# (make-vector #{n 3607}#)))
+                             (let ((#{v 3623}# (make-vector #{n 3621}#)))
                                (letrec*
-                                 ((#{loop 3612}#
-                                    (lambda (#{i 3613}#)
-                                      (if (= #{i 3613}# #{n 3607}#)
-                                        (begin (if #f #f) #{v 3609}#)
+                                 ((#{loop 3626}#
+                                    (lambda (#{i 3627}#)
+                                      (if (= #{i 3627}# #{n 3621}#)
+                                        (begin (if #f #f) #{v 3623}#)
                                         (begin
                                           (vector-set!
-                                            #{v 3609}#
-                                            #{i 3613}#
-                                            (#{remodulate 3594}#
+                                            #{v 3623}#
+                                            #{i 3627}#
+                                            (#{remodulate 3608}#
                                               (vector-ref
-                                                #{x 3595}#
-                                                #{i 3613}#)
-                                              #{mod 3596}#))
-                                          (#{loop 3612}#
-                                            (#{1+}# #{i 3613}#)))))))
-                                 (begin (#{loop 3612}# 0)))))))
-                       #{x 3595}#))))))
+                                                #{x 3609}#
+                                                #{i 3627}#)
+                                              #{mod 3610}#))
+                                          (#{loop 3626}#
+                                            (#{1+}# #{i 3627}#)))))))
+                                 (begin (#{loop 3626}# 0)))))))
+                       #{x 3609}#))))))
             (begin
-              (let ((#{tmp 3619}# #{e 3587}#))
-                (let ((#{tmp 3620}#
-                        ($sc-dispatch #{tmp 3619}# '(_ each-any any))))
-                  (if (if #{tmp 3620}#
+              (let ((#{tmp 3633}# #{e 3601}#))
+                (let ((#{tmp 3634}#
+                        ($sc-dispatch #{tmp 3633}# '(_ each-any any))))
+                  (if (if #{tmp 3634}#
                         (@apply
-                          (lambda (#{mod 3623}# #{exp 3624}#)
-                            (and-map #{id? 339}# #{mod 3623}#))
-                          #{tmp 3620}#)
+                          (lambda (#{mod 3637}# #{exp 3638}#)
+                            (and-map #{id? 344}# #{mod 3637}#))
+                          #{tmp 3634}#)
                         #f)
                     (@apply
-                      (lambda (#{mod 3628}# #{exp 3629}#)
+                      (lambda (#{mod 3642}# #{exp 3643}#)
                         (begin
-                          (let ((#{mod 3631}#
+                          (let ((#{mod 3645}#
                                   (syntax->datum
                                     (cons '#(syntax-object
                                              private
@@ -10910,15 +10910,15 @@
                                               #(ribcage
                                                 #(mod exp)
                                                 #((top) (top))
-                                                #("i3626" "i3627"))
+                                                #("i3640" "i3641"))
                                               #(ribcage
                                                 (remodulate)
                                                 ((top))
-                                                ("i3593"))
+                                                ("i3607"))
                                               #(ribcage
                                                 #(e r w)
                                                 #((top) (top) (top))
-                                                #("i3590" "i3591" "i3592"))
+                                                #("i3604" "i3605" "i3606"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
@@ -11192,81 +11192,82 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i448"
-                                                 "i446"
-                                                 "i444"
-                                                 "i442"
-                                                 "i440"
-                                                 "i438"
-                                                 "i436"
-                                                 "i434"
-                                                 "i432"
-                                                 "i430"
-                                                 "i428"
-                                                 "i426"
-                                                 "i424"
-                                                 "i422"
-                                                 "i420"
-                                                 "i418"
-                                                 "i416"
-                                                 "i414"
-                                                 "i412"
-                                                 "i410"
-                                                 "i408"
-                                                 "i406"
-                                                 "i404"
-                                                 "i402"
-                                                 "i400"
-                                                 "i398"
-                                                 "i396"
-                                                 "i394"
+                                                ("i461"
+                                                 "i459"
+                                                 "i457"
+                                                 "i455"
+                                                 "i453"
+                                                 "i451"
+                                                 "i449"
+                                                 "i447"
+                                                 "i445"
+                                                 "i443"
+                                                 "i441"
+                                                 "i439"
+                                                 "i437"
+                                                 "i435"
+                                                 "i433"
+                                                 "i431"
+                                                 "i429"
+                                                 "i427"
+                                                 "i425"
+                                                 "i423"
+                                                 "i421"
+                                                 "i419"
+                                                 "i417"
+                                                 "i415"
+                                                 "i413"
+                                                 "i411"
+                                                 "i409"
+                                                 "i407"
+                                                 "i405"
+                                                 "i403"
+                                                 "i401"
+                                                 "i399"
+                                                 "i397"
+                                                 "i395"
+                                                 "i393"
                                                  "i392"
                                                  "i390"
-                                                 "i388"
+                                                 "i387"
                                                  "i386"
-                                                 "i384"
+                                                 "i385"
+                                                 "i383"
                                                  "i382"
                                                  "i380"
-                                                 "i379"
                                                  "i378"
                                                  "i376"
-                                                 "i375"
                                                  "i374"
-                                                 "i373"
                                                  "i372"
                                                  "i370"
                                                  "i368"
                                                  "i366"
-                                                 "i364"
-                                                 "i362"
+                                                 "i363"
+                                                 "i361"
                                                  "i360"
                                                  "i358"
                                                  "i356"
-                                                 "i353"
+                                                 "i354"
+                                                 "i352"
                                                  "i351"
                                                  "i350"
                                                  "i349"
-                                                 "i348"
                                                  "i347"
                                                  "i346"
-                                                 "i345"
-                                                 "i344"
                                                  "i343"
                                                  "i341"
-                                                 "i340"
-                                                 "i338"
-                                                 "i336"
-                                                 "i334"
-                                                 "i332"
+                                                 "i339"
+                                                 "i337"
+                                                 "i335"
+                                                 "i333"
+                                                 "i331"
                                                  "i330"
-                                                 "i328"
-                                                 "i326"
+                                                 "i329"
+                                                 "i327"
                                                  "i325"
                                                  "i324"
-                                                 "i323"
-                                                 "i322"
                                                  "i321"
-                                                 "i319"
+                                                 "i320"
                                                  "i318"
                                                  "i316"
                                                  "i314"
@@ -11276,31 +11277,30 @@
                                                  "i306"
                                                  "i304"
                                                  "i302"
-                                                 "i300"
-                                                 "i298"
-                                                 "i296"
-                                                 "i294"
-                                                 "i292"
-                                                 "i290"
-                                                 "i288"
-                                                 "i286"
-                                                 "i284"
-                                                 "i282"
-                                                 "i280"
-                                                 "i278"
-                                                 "i276"
-                                                 "i274"
-                                                 "i272"
-                                                 "i270"
-                                                 "i268"
-                                                 "i266"
-                                                 "i264"
-                                                 "i262"
-                                                 "i260"
-                                                 "i258"
-                                                 "i256"
+                                                 "i299"
+                                                 "i297"
+                                                 "i295"
+                                                 "i293"
+                                                 "i291"
+                                                 "i289"
+                                                 "i287"
+                                                 "i285"
+                                                 "i283"
+                                                 "i281"
+                                                 "i279"
+                                                 "i277"
+                                                 "i275"
+                                                 "i273"
+                                                 "i271"
+                                                 "i269"
+                                                 "i267"
+                                                 "i265"
+                                                 "i263"
+                                                 "i261"
+                                                 "i259"
+                                                 "i257"
+                                                 "i255"
                                                  "i254"
-                                                 "i253"
                                                  "i251"
                                                  "i249"
                                                  "i248"
@@ -11335,183 +11335,183 @@
                                                 ((top) (top) (top))
                                                 ("i40" "i39" "i38")))
                                              (hygiene guile))
-                                          #{mod 3628}#))))
+                                          #{mod 3642}#))))
                             (values
-                              (#{remodulate 3594}# #{exp 3629}# #{mod 3631}#)
-                              #{r 3588}#
-                              #{w 3589}#
-                              (#{source-annotation 320}# #{exp 3629}#)
-                              #{mod 3631}#))))
-                      #{tmp 3620}#)
+                              (#{remodulate 3608}# #{exp 3643}# #{mod 3645}#)
+                              #{r 3602}#
+                              #{w 3603}#
+                              (#{source-annotation 322}# #{exp 3643}#)
+                              #{mod 3645}#))))
+                      #{tmp 3634}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 3619}#))))))))
-      (#{global-extend 335}#
+                      #{tmp 3633}#))))))))
+      (#{global-extend 340}#
         'core
         'if
-        (lambda (#{e 3633}#
-                 #{r 3634}#
-                 #{w 3635}#
-                 #{s 3636}#
-                 #{mod 3637}#)
-          (let ((#{tmp 3643}# #{e 3633}#))
-            (let ((#{tmp 3644}#
-                    ($sc-dispatch #{tmp 3643}# '(_ any any))))
-              (if #{tmp 3644}#
+        (lambda (#{e 3647}#
+                 #{r 3648}#
+                 #{w 3649}#
+                 #{s 3650}#
+                 #{mod 3651}#)
+          (let ((#{tmp 3657}# #{e 3647}#))
+            (let ((#{tmp 3658}#
+                    ($sc-dispatch #{tmp 3657}# '(_ any any))))
+              (if #{tmp 3658}#
                 (@apply
-                  (lambda (#{test 3647}# #{then 3648}#)
-                    (#{build-conditional 267}#
-                      #{s 3636}#
-                      (#{chi 419}#
-                        #{test 3647}#
-                        #{r 3634}#
-                        #{w 3635}#
-                        #{mod 3637}#)
-                      (#{chi 419}#
-                        #{then 3648}#
-                        #{r 3634}#
-                        #{w 3635}#
-                        #{mod 3637}#)
-                      (#{build-void 263}# #f)))
-                  #{tmp 3644}#)
-                (let ((#{tmp 3650}#
-                        ($sc-dispatch #{tmp 3643}# '(_ any any any))))
-                  (if #{tmp 3650}#
+                  (lambda (#{test 3661}# #{then 3662}#)
+                    (#{build-conditional 268}#
+                      #{s 3650}#
+                      (#{chi 432}#
+                        #{test 3661}#
+                        #{r 3648}#
+                        #{w 3649}#
+                        #{mod 3651}#)
+                      (#{chi 432}#
+                        #{then 3662}#
+                        #{r 3648}#
+                        #{w 3649}#
+                        #{mod 3651}#)
+                      (#{build-void 264}# #f)))
+                  #{tmp 3658}#)
+                (let ((#{tmp 3664}#
+                        ($sc-dispatch #{tmp 3657}# '(_ any any any))))
+                  (if #{tmp 3664}#
                     (@apply
-                      (lambda (#{test 3654}# #{then 3655}# #{else 3656}#)
-                        (#{build-conditional 267}#
-                          #{s 3636}#
-                          (#{chi 419}#
-                            #{test 3654}#
-                            #{r 3634}#
-                            #{w 3635}#
-                            #{mod 3637}#)
-                          (#{chi 419}#
-                            #{then 3655}#
-                            #{r 3634}#
-                            #{w 3635}#
-                            #{mod 3637}#)
-                          (#{chi 419}#
-                            #{else 3656}#
-                            #{r 3634}#
-                            #{w 3635}#
-                            #{mod 3637}#)))
-                      #{tmp 3650}#)
+                      (lambda (#{test 3668}# #{then 3669}# #{else 3670}#)
+                        (#{build-conditional 268}#
+                          #{s 3650}#
+                          (#{chi 432}#
+                            #{test 3668}#
+                            #{r 3648}#
+                            #{w 3649}#
+                            #{mod 3651}#)
+                          (#{chi 432}#
+                            #{then 3669}#
+                            #{r 3648}#
+                            #{w 3649}#
+                            #{mod 3651}#)
+                          (#{chi 432}#
+                            #{else 3670}#
+                            #{r 3648}#
+                            #{w 3649}#
+                            #{mod 3651}#)))
+                      #{tmp 3664}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 3643}#))))))))
-      (#{global-extend 335}#
+                      #{tmp 3657}#))))))))
+      (#{global-extend 340}#
         'core
         'with-fluids
-        (lambda (#{e 3657}#
-                 #{r 3658}#
-                 #{w 3659}#
-                 #{s 3660}#
-                 #{mod 3661}#)
-          (let ((#{tmp 3667}# #{e 3657}#))
-            (let ((#{tmp 3668}#
+        (lambda (#{e 3671}#
+                 #{r 3672}#
+                 #{w 3673}#
+                 #{s 3674}#
+                 #{mod 3675}#)
+          (let ((#{tmp 3681}# #{e 3671}#))
+            (let ((#{tmp 3682}#
                     ($sc-dispatch
-                      #{tmp 3667}#
+                      #{tmp 3681}#
                       '(_ #(each (any any)) any . each-any))))
-              (if #{tmp 3668}#
+              (if #{tmp 3682}#
                 (@apply
-                  (lambda (#{fluid 3673}#
-                           #{val 3674}#
-                           #{b 3675}#
-                           #{b* 3676}#)
-                    (#{build-dynlet 269}#
-                      #{s 3660}#
-                      (map (lambda (#{x 3677}#)
-                             (#{chi 419}#
-                               #{x 3677}#
-                               #{r 3658}#
-                               #{w 3659}#
-                               #{mod 3661}#))
-                           #{fluid 3673}#)
-                      (map (lambda (#{x 3680}#)
-                             (#{chi 419}#
-                               #{x 3680}#
-                               #{r 3658}#
-                               #{w 3659}#
-                               #{mod 3661}#))
-                           #{val 3674}#)
-                      (#{chi-body 427}#
-                        (cons #{b 3675}# #{b* 3676}#)
-                        (#{source-wrap 407}#
-                          #{e 3657}#
-                          #{w 3659}#
-                          #{s 3660}#
-                          #{mod 3661}#)
-                        #{r 3658}#
-                        #{w 3659}#
-                        #{mod 3661}#)))
-                  #{tmp 3668}#)
+                  (lambda (#{fluid 3687}#
+                           #{val 3688}#
+                           #{b 3689}#
+                           #{b* 3690}#)
+                    (#{build-dynlet 270}#
+                      #{s 3674}#
+                      (map (lambda (#{x 3691}#)
+                             (#{chi 432}#
+                               #{x 3691}#
+                               #{r 3672}#
+                               #{w 3673}#
+                               #{mod 3675}#))
+                           #{fluid 3687}#)
+                      (map (lambda (#{x 3694}#)
+                             (#{chi 432}#
+                               #{x 3694}#
+                               #{r 3672}#
+                               #{w 3673}#
+                               #{mod 3675}#))
+                           #{val 3688}#)
+                      (#{chi-body 440}#
+                        (cons #{b 3689}# #{b* 3690}#)
+                        (#{source-wrap 420}#
+                          #{e 3671}#
+                          #{w 3673}#
+                          #{s 3674}#
+                          #{mod 3675}#)
+                        #{r 3672}#
+                        #{w 3673}#
+                        #{mod 3675}#)))
+                  #{tmp 3682}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 3667}#))))))
-      (#{global-extend 335}# 'begin 'begin '())
-      (#{global-extend 335}# 'define 'define '())
-      (#{global-extend 335}#
+                  #{tmp 3681}#))))))
+      (#{global-extend 340}# 'begin 'begin '())
+      (#{global-extend 340}# 'define 'define '())
+      (#{global-extend 340}#
         'define-syntax
         'define-syntax
         '())
-      (#{global-extend 335}# 'eval-when 'eval-when '())
-      (#{global-extend 335}#
+      (#{global-extend 340}# 'eval-when 'eval-when '())
+      (#{global-extend 340}#
         'core
         'syntax-case
         (letrec*
-          ((#{convert-pattern 3685}#
-             (lambda (#{pattern 3692}# #{keys 3693}#)
+          ((#{convert-pattern 3699}#
+             (lambda (#{pattern 3706}# #{keys 3707}#)
                (letrec*
-                 ((#{cvt* 3697}#
-                    (lambda (#{p* 3702}# #{n 3703}# #{ids 3704}#)
-                      (if (not (pair? #{p* 3702}#))
-                        (#{cvt 3701}#
-                          #{p* 3702}#
-                          #{n 3703}#
-                          #{ids 3704}#)
+                 ((#{cvt* 3711}#
+                    (lambda (#{p* 3716}# #{n 3717}# #{ids 3718}#)
+                      (if (not (pair? #{p* 3716}#))
+                        (#{cvt 3715}#
+                          #{p* 3716}#
+                          #{n 3717}#
+                          #{ids 3718}#)
                         (call-with-values
                           (lambda ()
-                            (#{cvt* 3697}#
-                              (cdr #{p* 3702}#)
-                              #{n 3703}#
-                              #{ids 3704}#))
-                          (lambda (#{y 3708}# #{ids 3709}#)
+                            (#{cvt* 3711}#
+                              (cdr #{p* 3716}#)
+                              #{n 3717}#
+                              #{ids 3718}#))
+                          (lambda (#{y 3722}# #{ids 3723}#)
                             (call-with-values
                               (lambda ()
-                                (#{cvt 3701}#
-                                  (car #{p* 3702}#)
-                                  #{n 3703}#
-                                  #{ids 3709}#))
-                              (lambda (#{x 3712}# #{ids 3713}#)
+                                (#{cvt 3715}#
+                                  (car #{p* 3716}#)
+                                  #{n 3717}#
+                                  #{ids 3723}#))
+                              (lambda (#{x 3726}# #{ids 3727}#)
                                 (values
-                                  (cons #{x 3712}# #{y 3708}#)
-                                  #{ids 3713}#))))))))
-                  (#{v-reverse 3699}#
-                    (lambda (#{x 3716}#)
+                                  (cons #{x 3726}# #{y 3722}#)
+                                  #{ids 3727}#))))))))
+                  (#{v-reverse 3713}#
+                    (lambda (#{x 3730}#)
                       (letrec*
-                        ((#{loop 3721}#
-                           (lambda (#{r 3722}# #{x 3723}#)
-                             (if (not (pair? #{x 3723}#))
-                               (values #{r 3722}# #{x 3723}#)
-                               (#{loop 3721}#
-                                 (cons (car #{x 3723}#) #{r 3722}#)
-                                 (cdr #{x 3723}#))))))
-                        (begin (#{loop 3721}# '() #{x 3716}#)))))
-                  (#{cvt 3701}#
-                    (lambda (#{p 3724}# #{n 3725}# #{ids 3726}#)
-                      (if (#{id? 339}# #{p 3724}#)
-                        (if (#{bound-id-member? 403}#
-                              #{p 3724}#
-                              #{keys 3693}#)
+                        ((#{loop 3735}#
+                           (lambda (#{r 3736}# #{x 3737}#)
+                             (if (not (pair? #{x 3737}#))
+                               (values #{r 3736}# #{x 3737}#)
+                               (#{loop 3735}#
+                                 (cons (car #{x 3737}#) #{r 3736}#)
+                                 (cdr #{x 3737}#))))))
+                        (begin (#{loop 3735}# '() #{x 3730}#)))))
+                  (#{cvt 3715}#
+                    (lambda (#{p 3738}# #{n 3739}# #{ids 3740}#)
+                      (if (#{id? 344}# #{p 3738}#)
+                        (if (#{bound-id-member? 416}#
+                              #{p 3738}#
+                              #{keys 3707}#)
                           (values
-                            (vector 'free-id #{p 3724}#)
-                            #{ids 3726}#)
-                          (if (#{free-id=? 395}#
-                                #{p 3724}#
+                            (vector 'free-id #{p 3738}#)
+                            #{ids 3740}#)
+                          (if (#{free-id=? 408}#
+                                #{p 3738}#
                                 '#(syntax-object
                                    _
                                    ((top)
@@ -11519,22 +11519,22 @@
                                     #(ribcage
                                       #(p n ids)
                                       #((top) (top) (top))
-                                      #("i3727" "i3728" "i3729"))
+                                      #("i3741" "i3742" "i3743"))
                                     #(ribcage
                                       (cvt v-reverse cvt*)
                                       ((top) (top) (top))
-                                      ("i3700" "i3698" "i3696"))
+                                      ("i3714" "i3712" "i3710"))
                                     #(ribcage
                                       #(pattern keys)
                                       #((top) (top))
-                                      #("i3694" "i3695"))
+                                      #("i3708" "i3709"))
                                     #(ribcage
                                       (gen-syntax-case
                                         gen-clause
                                         build-dispatch-call
                                         convert-pattern)
                                       ((top) (top) (top) (top))
-                                      ("i3690" "i3688" "i3686" "i3684"))
+                                      ("i3704" "i3702" "i3700" "i3698"))
                                     #(ribcage
                                       (lambda-var-list
                                         gen-var
@@ -11808,81 +11808,82 @@
                                        (top)
                                        (top)
                                        (top))
-                                      ("i448"
-                                       "i446"
-                                       "i444"
-                                       "i442"
-                                       "i440"
-                                       "i438"
-                                       "i436"
-                                       "i434"
-                                       "i432"
-                                       "i430"
-                                       "i428"
-                                       "i426"
-                                       "i424"
-                                       "i422"
-                                       "i420"
-                                       "i418"
-                                       "i416"
-                                       "i414"
-                                       "i412"
-                                       "i410"
-                                       "i408"
-                                       "i406"
-                                       "i404"
-                                       "i402"
-                                       "i400"
-                                       "i398"
-                                       "i396"
-                                       "i394"
+                                      ("i461"
+                                       "i459"
+                                       "i457"
+                                       "i455"
+                                       "i453"
+                                       "i451"
+                                       "i449"
+                                       "i447"
+                                       "i445"
+                                       "i443"
+                                       "i441"
+                                       "i439"
+                                       "i437"
+                                       "i435"
+                                       "i433"
+                                       "i431"
+                                       "i429"
+                                       "i427"
+                                       "i425"
+                                       "i423"
+                                       "i421"
+                                       "i419"
+                                       "i417"
+                                       "i415"
+                                       "i413"
+                                       "i411"
+                                       "i409"
+                                       "i407"
+                                       "i405"
+                                       "i403"
+                                       "i401"
+                                       "i399"
+                                       "i397"
+                                       "i395"
+                                       "i393"
                                        "i392"
                                        "i390"
-                                       "i388"
+                                       "i387"
                                        "i386"
-                                       "i384"
+                                       "i385"
+                                       "i383"
                                        "i382"
                                        "i380"
-                                       "i379"
                                        "i378"
                                        "i376"
-                                       "i375"
                                        "i374"
-                                       "i373"
                                        "i372"
                                        "i370"
                                        "i368"
                                        "i366"
-                                       "i364"
-                                       "i362"
+                                       "i363"
+                                       "i361"
                                        "i360"
                                        "i358"
                                        "i356"
-                                       "i353"
+                                       "i354"
+                                       "i352"
                                        "i351"
                                        "i350"
                                        "i349"
-                                       "i348"
                                        "i347"
                                        "i346"
-                                       "i345"
-                                       "i344"
                                        "i343"
                                        "i341"
-                                       "i340"
-                                       "i338"
-                                       "i336"
-                                       "i334"
-                                       "i332"
+                                       "i339"
+                                       "i337"
+                                       "i335"
+                                       "i333"
+                                       "i331"
                                        "i330"
-                                       "i328"
-                                       "i326"
+                                       "i329"
+                                       "i327"
                                        "i325"
                                        "i324"
-                                       "i323"
-                                       "i322"
                                        "i321"
-                                       "i319"
+                                       "i320"
                                        "i318"
                                        "i316"
                                        "i314"
@@ -11892,31 +11893,30 @@
                                        "i306"
                                        "i304"
                                        "i302"
-                                       "i300"
-                                       "i298"
-                                       "i296"
-                                       "i294"
-                                       "i292"
-                                       "i290"
-                                       "i288"
-                                       "i286"
-                                       "i284"
-                                       "i282"
-                                       "i280"
-                                       "i278"
-                                       "i276"
-                                       "i274"
-                                       "i272"
-                                       "i270"
-                                       "i268"
-                                       "i266"
-                                       "i264"
-                                       "i262"
-                                       "i260"
-                                       "i258"
-                                       "i256"
+                                       "i299"
+                                       "i297"
+                                       "i295"
+                                       "i293"
+                                       "i291"
+                                       "i289"
+                                       "i287"
+                                       "i285"
+                                       "i283"
+                                       "i281"
+                                       "i279"
+                                       "i277"
+                                       "i275"
+                                       "i273"
+                                       "i271"
+                                       "i269"
+                                       "i267"
+                                       "i265"
+                                       "i263"
+                                       "i261"
+                                       "i259"
+                                       "i257"
+                                       "i255"
                                        "i254"
-                                       "i253"
                                        "i251"
                                        "i249"
                                        "i248"
@@ -11951,328 +11951,328 @@
                                       ((top) (top) (top))
                                       ("i40" "i39" "i38")))
                                    (hygiene guile)))
-                            (values '_ #{ids 3726}#)
+                            (values '_ #{ids 3740}#)
                             (values
                               'any
-                              (cons (cons #{p 3724}# #{n 3725}#)
-                                    #{ids 3726}#))))
-                        (let ((#{tmp 3735}# #{p 3724}#))
-                          (let ((#{tmp 3736}#
-                                  ($sc-dispatch #{tmp 3735}# '(any any))))
-                            (if (if #{tmp 3736}#
+                              (cons (cons #{p 3738}# #{n 3739}#)
+                                    #{ids 3740}#))))
+                        (let ((#{tmp 3749}# #{p 3738}#))
+                          (let ((#{tmp 3750}#
+                                  ($sc-dispatch #{tmp 3749}# '(any any))))
+                            (if (if #{tmp 3750}#
                                   (@apply
-                                    (lambda (#{x 3739}# #{dots 3740}#)
-                                      (#{ellipsis? 435}# #{dots 3740}#))
-                                    #{tmp 3736}#)
+                                    (lambda (#{x 3753}# #{dots 3754}#)
+                                      (#{ellipsis? 448}# #{dots 3754}#))
+                                    #{tmp 3750}#)
                                   #f)
                               (@apply
-                                (lambda (#{x 3743}# #{dots 3744}#)
+                                (lambda (#{x 3757}# #{dots 3758}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt 3701}#
-                                        #{x 3743}#
-                                        (#{1+}# #{n 3725}#)
-                                        #{ids 3726}#))
-                                    (lambda (#{p 3746}# #{ids 3747}#)
+                                      (#{cvt 3715}#
+                                        #{x 3757}#
+                                        (#{1+}# #{n 3739}#)
+                                        #{ids 3740}#))
+                                    (lambda (#{p 3760}# #{ids 3761}#)
                                       (values
-                                        (if (eq? #{p 3746}# 'any)
+                                        (if (eq? #{p 3760}# 'any)
                                           'each-any
-                                          (vector 'each #{p 3746}#))
-                                        #{ids 3747}#))))
-                                #{tmp 3736}#)
-                              (let ((#{tmp 3750}#
+                                          (vector 'each #{p 3760}#))
+                                        #{ids 3761}#))))
+                                #{tmp 3750}#)
+                              (let ((#{tmp 3764}#
                                       ($sc-dispatch
-                                        #{tmp 3735}#
+                                        #{tmp 3749}#
                                         '(any any . any))))
-                                (if (if #{tmp 3750}#
+                                (if (if #{tmp 3764}#
                                       (@apply
-                                        (lambda (#{x 3754}#
-                                                 #{dots 3755}#
-                                                 #{ys 3756}#)
-                                          (#{ellipsis? 435}# #{dots 3755}#))
-                                        #{tmp 3750}#)
+                                        (lambda (#{x 3768}#
+                                                 #{dots 3769}#
+                                                 #{ys 3770}#)
+                                          (#{ellipsis? 448}# #{dots 3769}#))
+                                        #{tmp 3764}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{x 3760}#
-                                             #{dots 3761}#
-                                             #{ys 3762}#)
+                                    (lambda (#{x 3774}#
+                                             #{dots 3775}#
+                                             #{ys 3776}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt* 3697}#
-                                            #{ys 3762}#
-                                            #{n 3725}#
-                                            #{ids 3726}#))
-                                        (lambda (#{ys 3763}# #{ids 3764}#)
+                                          (#{cvt* 3711}#
+                                            #{ys 3776}#
+                                            #{n 3739}#
+                                            #{ids 3740}#))
+                                        (lambda (#{ys 3777}# #{ids 3778}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 3701}#
-                                                #{x 3760}#
-                                                (#{1+}# #{n 3725}#)
-                                                #{ids 3764}#))
-                                            (lambda (#{x 3767}# #{ids 3768}#)
+                                              (#{cvt 3715}#
+                                                #{x 3774}#
+                                                (#{1+}# #{n 3739}#)
+                                                #{ids 3778}#))
+                                            (lambda (#{x 3781}# #{ids 3782}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{v-reverse 3699}#
-                                                    #{ys 3763}#))
-                                                (lambda (#{ys 3771}#
-                                                         #{e 3772}#)
+                                                  (#{v-reverse 3713}#
+                                                    #{ys 3777}#))
+                                                (lambda (#{ys 3785}#
+                                                         #{e 3786}#)
                                                   (values
                                                     (vector
                                                       'each+
-                                                      #{x 3767}#
-                                                      #{ys 3771}#
-                                                      #{e 3772}#)
-                                                    #{ids 3768}#))))))))
-                                    #{tmp 3750}#)
-                                  (let ((#{tmp 3776}#
+                                                      #{x 3781}#
+                                                      #{ys 3785}#
+                                                      #{e 3786}#)
+                                                    #{ids 3782}#))))))))
+                                    #{tmp 3764}#)
+                                  (let ((#{tmp 3790}#
                                           ($sc-dispatch
-                                            #{tmp 3735}#
+                                            #{tmp 3749}#
                                             '(any . any))))
-                                    (if #{tmp 3776}#
+                                    (if #{tmp 3790}#
                                       (@apply
-                                        (lambda (#{x 3779}# #{y 3780}#)
+                                        (lambda (#{x 3793}# #{y 3794}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 3701}#
-                                                #{y 3780}#
-                                                #{n 3725}#
-                                                #{ids 3726}#))
-                                            (lambda (#{y 3781}# #{ids 3782}#)
+                                              (#{cvt 3715}#
+                                                #{y 3794}#
+                                                #{n 3739}#
+                                                #{ids 3740}#))
+                                            (lambda (#{y 3795}# #{ids 3796}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{cvt 3701}#
-                                                    #{x 3779}#
-                                                    #{n 3725}#
-                                                    #{ids 3782}#))
-                                                (lambda (#{x 3785}#
-                                                         #{ids 3786}#)
+                                                  (#{cvt 3715}#
+                                                    #{x 3793}#
+                                                    #{n 3739}#
+                                                    #{ids 3796}#))
+                                                (lambda (#{x 3799}#
+                                                         #{ids 3800}#)
                                                   (values
-                                                    (cons #{x 3785}#
-                                                          #{y 3781}#)
-                                                    #{ids 3786}#))))))
-                                        #{tmp 3776}#)
-                                      (let ((#{tmp 3789}#
-                                              ($sc-dispatch #{tmp 3735}# '())))
-                                        (if #{tmp 3789}#
+                                                    (cons #{x 3799}#
+                                                          #{y 3795}#)
+                                                    #{ids 3800}#))))))
+                                        #{tmp 3790}#)
+                                      (let ((#{tmp 3803}#
+                                              ($sc-dispatch #{tmp 3749}# '())))
+                                        (if #{tmp 3803}#
                                           (@apply
                                             (lambda ()
-                                              (values '() #{ids 3726}#))
-                                            #{tmp 3789}#)
-                                          (let ((#{tmp 3790}#
+                                              (values '() #{ids 3740}#))
+                                            #{tmp 3803}#)
+                                          (let ((#{tmp 3804}#
                                                   ($sc-dispatch
-                                                    #{tmp 3735}#
+                                                    #{tmp 3749}#
                                                     '#(vector each-any))))
-                                            (if #{tmp 3790}#
+                                            (if #{tmp 3804}#
                                               (@apply
-                                                (lambda (#{x 3792}#)
+                                                (lambda (#{x 3806}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{cvt 3701}#
-                                                        #{x 3792}#
-                                                        #{n 3725}#
-                                                        #{ids 3726}#))
-                                                    (lambda (#{p 3794}#
-                                                             #{ids 3795}#)
+                                                      (#{cvt 3715}#
+                                                        #{x 3806}#
+                                                        #{n 3739}#
+                                                        #{ids 3740}#))
+                                                    (lambda (#{p 3808}#
+                                                             #{ids 3809}#)
                                                       (values
                                                         (vector
                                                           'vector
-                                                          #{p 3794}#)
-                                                        #{ids 3795}#))))
-                                                #{tmp 3790}#)
-                                              (let ((#{x 3799}# #{tmp 3735}#))
+                                                          #{p 3808}#)
+                                                        #{ids 3809}#))))
+                                                #{tmp 3804}#)
+                                              (let ((#{x 3813}# #{tmp 3749}#))
                                                 (values
                                                   (vector
                                                     'atom
-                                                    (#{strip 445}#
-                                                      #{p 3724}#
+                                                    (#{strip 458}#
+                                                      #{p 3738}#
                                                       '(())))
-                                                  #{ids 3726}#)))))))))))))))))
-                 (begin (#{cvt 3701}# #{pattern 3692}# 0 '())))))
-           (#{build-dispatch-call 3687}#
-             (lambda (#{pvars 3801}#
-                      #{exp 3802}#
-                      #{y 3803}#
-                      #{r 3804}#
-                      #{mod 3805}#)
+                                                  #{ids 3740}#)))))))))))))))))
+                 (begin (#{cvt 3715}# #{pattern 3706}# 0 '())))))
+           (#{build-dispatch-call 3701}#
+             (lambda (#{pvars 3815}#
+                      #{exp 3816}#
+                      #{y 3817}#
+                      #{r 3818}#
+                      #{mod 3819}#)
                (begin
-                 (map cdr #{pvars 3801}#)
-                 (let ((#{ids 3813}# (map car #{pvars 3801}#)))
+                 (map cdr #{pvars 3815}#)
+                 (let ((#{ids 3827}# (map car #{pvars 3815}#)))
                    (begin
-                     (let ((#{labels 3817}#
-                             (#{gen-labels 354}# #{ids 3813}#))
-                           (#{new-vars 3818}#
-                             (map #{gen-var 447}# #{ids 3813}#)))
-                       (#{build-application 265}#
+                     (let ((#{labels 3831}#
+                             (#{gen-labels 364}# #{ids 3827}#))
+                           (#{new-vars 3832}#
+                             (map #{gen-var 460}# #{ids 3827}#)))
+                       (#{build-application 266}#
                          #f
-                         (#{build-primref 289}# #f 'apply)
-                         (list (#{build-simple-lambda 283}#
+                         (#{build-primref 290}# #f 'apply)
+                         (list (#{build-simple-lambda 284}#
                                  #f
-                                 (map syntax->datum #{ids 3813}#)
+                                 (map syntax->datum #{ids 3827}#)
                                  #f
-                                 #{new-vars 3818}#
+                                 #{new-vars 3832}#
                                  '()
-                                 (#{chi 419}#
-                                   #{exp 3802}#
-                                   (#{extend-env 327}#
-                                     #{labels 3817}#
-                                     (map (lambda (#{var 3822}# #{level 3823}#)
+                                 (#{chi 432}#
+                                   #{exp 3816}#
+                                   (#{extend-env 332}#
+                                     #{labels 3831}#
+                                     (map (lambda (#{var 3836}# #{level 3837}#)
                                             (cons 'syntax
-                                                  (cons #{var 3822}#
-                                                        #{level 3823}#)))
-                                          #{new-vars 3818}#
-                                          (map cdr #{pvars 3801}#))
-                                     #{r 3804}#)
-                                   (#{make-binding-wrap 383}#
-                                     #{ids 3813}#
-                                     #{labels 3817}#
+                                                  (cons #{var 3836}#
+                                                        #{level 3837}#)))
+                                          #{new-vars 3832}#
+                                          (map cdr #{pvars 3815}#))
+                                     #{r 3818}#)
+                                   (#{make-binding-wrap 396}#
+                                     #{ids 3827}#
+                                     #{labels 3831}#
                                      '(()))
-                                   #{mod 3805}#))
-                               #{y 3803}#))))))))
-           (#{gen-clause 3689}#
-             (lambda (#{x 3829}#
-                      #{keys 3830}#
-                      #{clauses 3831}#
-                      #{r 3832}#
-                      #{pat 3833}#
-                      #{fender 3834}#
-                      #{exp 3835}#
-                      #{mod 3836}#)
+                                   #{mod 3819}#))
+                               #{y 3817}#))))))))
+           (#{gen-clause 3703}#
+             (lambda (#{x 3843}#
+                      #{keys 3844}#
+                      #{clauses 3845}#
+                      #{r 3846}#
+                      #{pat 3847}#
+                      #{fender 3848}#
+                      #{exp 3849}#
+                      #{mod 3850}#)
                (call-with-values
                  (lambda ()
-                   (#{convert-pattern 3685}#
-                     #{pat 3833}#
-                     #{keys 3830}#))
-                 (lambda (#{p 3845}# #{pvars 3846}#)
-                   (if (not (#{distinct-bound-ids? 401}#
-                              (map car #{pvars 3846}#)))
+                   (#{convert-pattern 3699}#
+                     #{pat 3847}#
+                     #{keys 3844}#))
+                 (lambda (#{p 3859}# #{pvars 3860}#)
+                   (if (not (#{distinct-bound-ids? 414}#
+                              (map car #{pvars 3860}#)))
                      (syntax-violation
                        'syntax-case
                        "duplicate pattern variable"
-                       #{pat 3833}#)
+                       #{pat 3847}#)
                      (if (not (and-map
-                                (lambda (#{x 3853}#)
-                                  (not (#{ellipsis? 435}# (car #{x 3853}#))))
-                                #{pvars 3846}#))
+                                (lambda (#{x 3867}#)
+                                  (not (#{ellipsis? 448}# (car #{x 3867}#))))
+                                #{pvars 3860}#))
                        (syntax-violation
                          'syntax-case
                          "misplaced ellipsis"
-                         #{pat 3833}#)
+                         #{pat 3847}#)
                        (begin
-                         (let ((#{y 3857}# (#{gen-var 447}# 'tmp)))
-                           (#{build-application 265}#
+                         (let ((#{y 3871}# (#{gen-var 460}# 'tmp)))
+                           (#{build-application 266}#
                              #f
-                             (#{build-simple-lambda 283}#
+                             (#{build-simple-lambda 284}#
                                #f
                                (list 'tmp)
                                #f
-                               (list #{y 3857}#)
+                               (list #{y 3871}#)
                                '()
                                (begin
-                                 (let ((#{y 3861}#
-                                         (#{build-lexical-reference 271}#
+                                 (let ((#{y 3875}#
+                                         (#{build-lexical-reference 272}#
                                            'value
                                            #f
                                            'tmp
-                                           #{y 3857}#)))
-                                   (#{build-conditional 267}#
+                                           #{y 3871}#)))
+                                   (#{build-conditional 268}#
                                      #f
-                                     (let ((#{tmp 3864}# #{fender 3834}#))
-                                       (let ((#{tmp 3865}#
+                                     (let ((#{tmp 3878}# #{fender 3848}#))
+                                       (let ((#{tmp 3879}#
                                                ($sc-dispatch
-                                                 #{tmp 3864}#
+                                                 #{tmp 3878}#
                                                  '#(atom #t))))
-                                         (if #{tmp 3865}#
+                                         (if #{tmp 3879}#
                                            (@apply
-                                             (lambda () #{y 3861}#)
-                                             #{tmp 3865}#)
-                                           (let ((#{_ 3867}# #{tmp 3864}#))
-                                             (#{build-conditional 267}#
+                                             (lambda () #{y 3875}#)
+                                             #{tmp 3879}#)
+                                           (let ((#{_ 3881}# #{tmp 3878}#))
+                                             (#{build-conditional 268}#
                                                #f
-                                               #{y 3861}#
-                                               (#{build-dispatch-call 3687}#
-                                                 #{pvars 3846}#
-                                                 #{fender 3834}#
-                                                 #{y 3861}#
-                                                 #{r 3832}#
-                                                 #{mod 3836}#)
-                                               (#{build-data 291}# #f #f))))))
-                                     (#{build-dispatch-call 3687}#
-                                       #{pvars 3846}#
-                                       #{exp 3835}#
-                                       #{y 3861}#
-                                       #{r 3832}#
-                                       #{mod 3836}#)
-                                     (#{gen-syntax-case 3691}#
-                                       #{x 3829}#
-                                       #{keys 3830}#
-                                       #{clauses 3831}#
-                                       #{r 3832}#
-                                       #{mod 3836}#)))))
-                             (list (if (eq? #{p 3845}# 'any)
-                                     (#{build-application 265}#
+                                               #{y 3875}#
+                                               (#{build-dispatch-call 3701}#
+                                                 #{pvars 3860}#
+                                                 #{fender 3848}#
+                                                 #{y 3875}#
+                                                 #{r 3846}#
+                                                 #{mod 3850}#)
+                                               (#{build-data 292}# #f #f))))))
+                                     (#{build-dispatch-call 3701}#
+                                       #{pvars 3860}#
+                                       #{exp 3849}#
+                                       #{y 3875}#
+                                       #{r 3846}#
+                                       #{mod 3850}#)
+                                     (#{gen-syntax-case 3705}#
+                                       #{x 3843}#
+                                       #{keys 3844}#
+                                       #{clauses 3845}#
+                                       #{r 3846}#
+                                       #{mod 3850}#)))))
+                             (list (if (eq? #{p 3859}# 'any)
+                                     (#{build-application 266}#
                                        #f
-                                       (#{build-primref 289}# #f 'list)
-                                       (list #{x 3829}#))
-                                     (#{build-application 265}#
+                                       (#{build-primref 290}# #f 'list)
+                                       (list #{x 3843}#))
+                                     (#{build-application 266}#
                                        #f
-                                       (#{build-primref 289}# #f '$sc-dispatch)
-                                       (list #{x 3829}#
-                                             (#{build-data 291}#
+                                       (#{build-primref 290}# #f '$sc-dispatch)
+                                       (list #{x 3843}#
+                                             (#{build-data 292}#
                                                #f
-                                               #{p 3845}#))))))))))))))
-           (#{gen-syntax-case 3691}#
-             (lambda (#{x 3875}#
-                      #{keys 3876}#
-                      #{clauses 3877}#
-                      #{r 3878}#
-                      #{mod 3879}#)
-               (if (null? #{clauses 3877}#)
-                 (#{build-application 265}#
+                                               #{p 3859}#))))))))))))))
+           (#{gen-syntax-case 3705}#
+             (lambda (#{x 3889}#
+                      #{keys 3890}#
+                      #{clauses 3891}#
+                      #{r 3892}#
+                      #{mod 3893}#)
+               (if (null? #{clauses 3891}#)
+                 (#{build-application 266}#
                    #f
-                   (#{build-primref 289}# #f 'syntax-violation)
-                   (list (#{build-data 291}# #f #f)
-                         (#{build-data 291}#
+                   (#{build-primref 290}# #f 'syntax-violation)
+                   (list (#{build-data 292}# #f #f)
+                         (#{build-data 292}#
                            #f
                            "source expression failed to match any pattern")
-                         #{x 3875}#))
-                 (let ((#{tmp 3889}# (car #{clauses 3877}#)))
-                   (let ((#{tmp 3890}#
-                           ($sc-dispatch #{tmp 3889}# '(any any))))
-                     (if #{tmp 3890}#
+                         #{x 3889}#))
+                 (let ((#{tmp 3903}# (car #{clauses 3891}#)))
+                   (let ((#{tmp 3904}#
+                           ($sc-dispatch #{tmp 3903}# '(any any))))
+                     (if #{tmp 3904}#
                        (@apply
-                         (lambda (#{pat 3893}# #{exp 3894}#)
-                           (if (if (#{id? 339}# #{pat 3893}#)
+                         (lambda (#{pat 3907}# #{exp 3908}#)
+                           (if (if (#{id? 344}# #{pat 3907}#)
                                  (and-map
-                                   (lambda (#{x 3897}#)
-                                     (not (#{free-id=? 395}#
-                                            #{pat 3893}#
-                                            #{x 3897}#)))
+                                   (lambda (#{x 3911}#)
+                                     (not (#{free-id=? 408}#
+                                            #{pat 3907}#
+                                            #{x 3911}#)))
                                    (cons '#(syntax-object
                                             ...
                                             ((top)
                                              #(ribcage
                                                #(pat exp)
                                                #((top) (top))
-                                               #("i3891" "i3892"))
+                                               #("i3905" "i3906"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x keys clauses r mod)
                                                #((top) (top) (top) (top) (top))
-                                               #("i3880"
-                                                 "i3881"
-                                                 "i3882"
-                                                 "i3883"
-                                                 "i3884"))
+                                               #("i3894"
+                                                 "i3895"
+                                                 "i3896"
+                                                 "i3897"
+                                                 "i3898"))
                                              #(ribcage
                                                (gen-syntax-case
                                                  gen-clause
                                                  build-dispatch-call
                                                  convert-pattern)
                                                ((top) (top) (top) (top))
-                                               ("i3690"
-                                                "i3688"
-                                                "i3686"
-                                                "i3684"))
+                                               ("i3704"
+                                                "i3702"
+                                                "i3700"
+                                                "i3698"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -12546,81 +12546,82 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i448"
-                                                "i446"
-                                                "i444"
-                                                "i442"
-                                                "i440"
-                                                "i438"
-                                                "i436"
-                                                "i434"
-                                                "i432"
-                                                "i430"
-                                                "i428"
-                                                "i426"
-                                                "i424"
-                                                "i422"
-                                                "i420"
-                                                "i418"
-                                                "i416"
-                                                "i414"
-                                                "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
-                                                "i402"
-                                                "i400"
-                                                "i398"
-                                                "i396"
-                                                "i394"
+                                               ("i461"
+                                                "i459"
+                                                "i457"
+                                                "i455"
+                                                "i453"
+                                                "i451"
+                                                "i449"
+                                                "i447"
+                                                "i445"
+                                                "i443"
+                                                "i441"
+                                                "i439"
+                                                "i437"
+                                                "i435"
+                                                "i433"
+                                                "i431"
+                                                "i429"
+                                                "i427"
+                                                "i425"
+                                                "i423"
+                                                "i421"
+                                                "i419"
+                                                "i417"
+                                                "i415"
+                                                "i413"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
+                                                "i401"
+                                                "i399"
+                                                "i397"
+                                                "i395"
+                                                "i393"
                                                 "i392"
                                                 "i390"
-                                                "i388"
+                                                "i387"
                                                 "i386"
-                                                "i384"
+                                                "i385"
+                                                "i383"
                                                 "i382"
                                                 "i380"
-                                                "i379"
                                                 "i378"
                                                 "i376"
-                                                "i375"
                                                 "i374"
-                                                "i373"
                                                 "i372"
                                                 "i370"
                                                 "i368"
                                                 "i366"
-                                                "i364"
-                                                "i362"
+                                                "i363"
+                                                "i361"
                                                 "i360"
                                                 "i358"
                                                 "i356"
-                                                "i353"
+                                                "i354"
+                                                "i352"
                                                 "i351"
                                                 "i350"
                                                 "i349"
-                                                "i348"
                                                 "i347"
                                                 "i346"
-                                                "i345"
-                                                "i344"
                                                 "i343"
                                                 "i341"
-                                                "i340"
-                                                "i338"
-                                                "i336"
-                                                "i334"
-                                                "i332"
+                                                "i339"
+                                                "i337"
+                                                "i335"
+                                                "i333"
+                                                "i331"
                                                 "i330"
-                                                "i328"
-                                                "i326"
+                                                "i329"
+                                                "i327"
                                                 "i325"
                                                 "i324"
-                                                "i323"
-                                                "i322"
                                                 "i321"
-                                                "i319"
+                                                "i320"
                                                 "i318"
                                                 "i316"
                                                 "i314"
@@ -12630,31 +12631,30 @@
                                                 "i306"
                                                 "i304"
                                                 "i302"
-                                                "i300"
-                                                "i298"
-                                                "i296"
-                                                "i294"
-                                                "i292"
-                                                "i290"
-                                                "i288"
-                                                "i286"
-                                                "i284"
-                                                "i282"
-                                                "i280"
-                                                "i278"
-                                                "i276"
-                                                "i274"
-                                                "i272"
-                                                "i270"
-                                                "i268"
-                                                "i266"
-                                                "i264"
-                                                "i262"
-                                                "i260"
-                                                "i258"
-                                                "i256"
+                                                "i299"
+                                                "i297"
+                                                "i295"
+                                                "i293"
+                                                "i291"
+                                                "i289"
+                                                "i287"
+                                                "i285"
+                                                "i283"
+                                                "i281"
+                                                "i279"
+                                                "i277"
+                                                "i275"
+                                                "i273"
+                                                "i271"
+                                                "i269"
+                                                "i267"
+                                                "i265"
+                                                "i263"
+                                                "i261"
+                                                "i259"
+                                                "i257"
+                                                "i255"
                                                 "i254"
-                                                "i253"
                                                 "i251"
                                                 "i249"
                                                 "i248"
@@ -12689,32 +12689,32 @@
                                                ((top) (top) (top))
                                                ("i40" "i39" "i38")))
                                             (hygiene guile))
-                                         #{keys 3876}#))
+                                         #{keys 3890}#))
                                  #f)
-                             (if (#{free-id=? 395}#
+                             (if (#{free-id=? 408}#
                                    '#(syntax-object
                                       pad
                                       ((top)
                                        #(ribcage
                                          #(pat exp)
                                          #((top) (top))
-                                         #("i3891" "i3892"))
+                                         #("i3905" "i3906"))
                                        #(ribcage () () ())
                                        #(ribcage
                                          #(x keys clauses r mod)
                                          #((top) (top) (top) (top) (top))
-                                         #("i3880"
-                                           "i3881"
-                                           "i3882"
-                                           "i3883"
-                                           "i3884"))
+                                         #("i3894"
+                                           "i3895"
+                                           "i3896"
+                                           "i3897"
+                                           "i3898"))
                                        #(ribcage
                                          (gen-syntax-case
                                            gen-clause
                                            build-dispatch-call
                                            convert-pattern)
                                          ((top) (top) (top) (top))
-                                         ("i3690" "i3688" "i3686" "i3684"))
+                                         ("i3704" "i3702" "i3700" "i3698"))
                                        #(ribcage
                                          (lambda-var-list
                                            gen-var
@@ -12988,81 +12988,82 @@
                                           (top)
                                           (top)
                                           (top))
-                                         ("i448"
-                                          "i446"
-                                          "i444"
-                                          "i442"
-                                          "i440"
-                                          "i438"
-                                          "i436"
-                                          "i434"
-                                          "i432"
-                                          "i430"
-                                          "i428"
-                                          "i426"
-                                          "i424"
-                                          "i422"
-                                          "i420"
-                                          "i418"
-                                          "i416"
-                                          "i414"
-                                          "i412"
-                                          "i410"
-                                          "i408"
-                                          "i406"
-                                          "i404"
-                                          "i402"
-                                          "i400"
-                                          "i398"
-                                          "i396"
-                                          "i394"
+                                         ("i461"
+                                          "i459"
+                                          "i457"
+                                          "i455"
+                                          "i453"
+                                          "i451"
+                                          "i449"
+                                          "i447"
+                                          "i445"
+                                          "i443"
+                                          "i441"
+                                          "i439"
+                                          "i437"
+                                          "i435"
+                                          "i433"
+                                          "i431"
+                                          "i429"
+                                          "i427"
+                                          "i425"
+                                          "i423"
+                                          "i421"
+                                          "i419"
+                                          "i417"
+                                          "i415"
+                                          "i413"
+                                          "i411"
+                                          "i409"
+                                          "i407"
+                                          "i405"
+                                          "i403"
+                                          "i401"
+                                          "i399"
+                                          "i397"
+                                          "i395"
+                                          "i393"
                                           "i392"
                                           "i390"
-                                          "i388"
+                                          "i387"
                                           "i386"
-                                          "i384"
+                                          "i385"
+                                          "i383"
                                           "i382"
                                           "i380"
-                                          "i379"
                                           "i378"
                                           "i376"
-                                          "i375"
                                           "i374"
-                                          "i373"
                                           "i372"
                                           "i370"
                                           "i368"
                                           "i366"
-                                          "i364"
-                                          "i362"
+                                          "i363"
+                                          "i361"
                                           "i360"
                                           "i358"
                                           "i356"
-                                          "i353"
+                                          "i354"
+                                          "i352"
                                           "i351"
                                           "i350"
                                           "i349"
-                                          "i348"
                                           "i347"
                                           "i346"
-                                          "i345"
-                                          "i344"
                                           "i343"
                                           "i341"
-                                          "i340"
-                                          "i338"
-                                          "i336"
-                                          "i334"
-                                          "i332"
+                                          "i339"
+                                          "i337"
+                                          "i335"
+                                          "i333"
+                                          "i331"
                                           "i330"
-                                          "i328"
-                                          "i326"
+                                          "i329"
+                                          "i327"
                                           "i325"
                                           "i324"
-                                          "i323"
-                                          "i322"
                                           "i321"
-                                          "i319"
+                                          "i320"
                                           "i318"
                                           "i316"
                                           "i314"
@@ -13072,31 +13073,30 @@
                                           "i306"
                                           "i304"
                                           "i302"
-                                          "i300"
-                                          "i298"
-                                          "i296"
-                                          "i294"
-                                          "i292"
-                                          "i290"
-                                          "i288"
-                                          "i286"
-                                          "i284"
-                                          "i282"
-                                          "i280"
-                                          "i278"
-                                          "i276"
-                                          "i274"
-                                          "i272"
-                                          "i270"
-                                          "i268"
-                                          "i266"
-                                          "i264"
-                                          "i262"
-                                          "i260"
-                                          "i258"
-                                          "i256"
+                                          "i299"
+                                          "i297"
+                                          "i295"
+                                          "i293"
+                                          "i291"
+                                          "i289"
+                                          "i287"
+                                          "i285"
+                                          "i283"
+                                          "i281"
+                                          "i279"
+                                          "i277"
+                                          "i275"
+                                          "i273"
+                                          "i271"
+                                          "i269"
+                                          "i267"
+                                          "i265"
+                                          "i263"
+                                          "i261"
+                                          "i259"
+                                          "i257"
+                                          "i255"
                                           "i254"
-                                          "i253"
                                           "i251"
                                           "i249"
                                           "i248"
@@ -13137,23 +13137,23 @@
                                        #(ribcage
                                          #(pat exp)
                                          #((top) (top))
-                                         #("i3891" "i3892"))
+                                         #("i3905" "i3906"))
                                        #(ribcage () () ())
                                        #(ribcage
                                          #(x keys clauses r mod)
                                          #((top) (top) (top) (top) (top))
-                                         #("i3880"
-                                           "i3881"
-                                           "i3882"
-                                           "i3883"
-                                           "i3884"))
+                                         #("i3894"
+                                           "i3895"
+                                           "i3896"
+                                           "i3897"
+                                           "i3898"))
                                        #(ribcage
                                          (gen-syntax-case
                                            gen-clause
                                            build-dispatch-call
                                            convert-pattern)
                                          ((top) (top) (top) (top))
-                                         ("i3690" "i3688" "i3686" "i3684"))
+                                         ("i3704" "i3702" "i3700" "i3698"))
                                        #(ribcage
                                          (lambda-var-list
                                            gen-var
@@ -13427,81 +13427,82 @@
                                           (top)
                                           (top)
                                           (top))
-                                         ("i448"
-                                          "i446"
-                                          "i444"
-                                          "i442"
-                                          "i440"
-                                          "i438"
-                                          "i436"
-                                          "i434"
-                                          "i432"
-                                          "i430"
-                                          "i428"
-                                          "i426"
-                                          "i424"
-                                          "i422"
-                                          "i420"
-                                          "i418"
-                                          "i416"
-                                          "i414"
-                                          "i412"
-                                          "i410"
-                                          "i408"
-                                          "i406"
-                                          "i404"
-                                          "i402"
-                                          "i400"
-                                          "i398"
-                                          "i396"
-                                          "i394"
+                                         ("i461"
+                                          "i459"
+                                          "i457"
+                                          "i455"
+                                          "i453"
+                                          "i451"
+                                          "i449"
+                                          "i447"
+                                          "i445"
+                                          "i443"
+                                          "i441"
+                                          "i439"
+                                          "i437"
+                                          "i435"
+                                          "i433"
+                                          "i431"
+                                          "i429"
+                                          "i427"
+                                          "i425"
+                                          "i423"
+                                          "i421"
+                                          "i419"
+                                          "i417"
+                                          "i415"
+                                          "i413"
+                                          "i411"
+                                          "i409"
+                                          "i407"
+                                          "i405"
+                                          "i403"
+                                          "i401"
+                                          "i399"
+                                          "i397"
+                                          "i395"
+                                          "i393"
                                           "i392"
                                           "i390"
-                                          "i388"
+                                          "i387"
                                           "i386"
-                                          "i384"
+                                          "i385"
+                                          "i383"
                                           "i382"
                                           "i380"
-                                          "i379"
                                           "i378"
                                           "i376"
-                                          "i375"
                                           "i374"
-                                          "i373"
                                           "i372"
                                           "i370"
                                           "i368"
                                           "i366"
-                                          "i364"
-                                          "i362"
+                                          "i363"
+                                          "i361"
                                           "i360"
                                           "i358"
                                           "i356"
-                                          "i353"
+                                          "i354"
+                                          "i352"
                                           "i351"
                                           "i350"
                                           "i349"
-                                          "i348"
                                           "i347"
                                           "i346"
-                                          "i345"
-                                          "i344"
                                           "i343"
                                           "i341"
-                                          "i340"
-                                          "i338"
-                                          "i336"
-                                          "i334"
-                                          "i332"
+                                          "i339"
+                                          "i337"
+                                          "i335"
+                                          "i333"
+                                          "i331"
                                           "i330"
-                                          "i328"
-                                          "i326"
+                                          "i329"
+                                          "i327"
                                           "i325"
                                           "i324"
-                                          "i323"
-                                          "i322"
                                           "i321"
-                                          "i319"
+                                          "i320"
                                           "i318"
                                           "i316"
                                           "i314"
@@ -13511,31 +13512,30 @@
                                           "i306"
                                           "i304"
                                           "i302"
-                                          "i300"
-                                          "i298"
-                                          "i296"
-                                          "i294"
-                                          "i292"
-                                          "i290"
-                                          "i288"
-                                          "i286"
-                                          "i284"
-                                          "i282"
-                                          "i280"
-                                          "i278"
-                                          "i276"
-                                          "i274"
-                                          "i272"
-                                          "i270"
-                                          "i268"
-                                          "i266"
-                                          "i264"
-                                          "i262"
-                                          "i260"
-                                          "i258"
-                                          "i256"
+                                          "i299"
+                                          "i297"
+                                          "i295"
+                                          "i293"
+                                          "i291"
+                                          "i289"
+                                          "i287"
+                                          "i285"
+                                          "i283"
+                                          "i281"
+                                          "i279"
+                                          "i277"
+                                          "i275"
+                                          "i273"
+                                          "i271"
+                                          "i269"
+                                          "i267"
+                                          "i265"
+                                          "i263"
+                                          "i261"
+                                          "i259"
+                                          "i257"
+                                          "i255"
                                           "i254"
-                                          "i253"
                                           "i251"
                                           "i249"
                                           "i248"
@@ -13570,565 +13570,565 @@
                                          ((top) (top) (top))
                                          ("i40" "i39" "i38")))
                                       (hygiene guile)))
-                               (#{chi 419}#
-                                 #{exp 3894}#
-                                 #{r 3878}#
+                               (#{chi 432}#
+                                 #{exp 3908}#
+                                 #{r 3892}#
                                  '(())
-                                 #{mod 3879}#)
+                                 #{mod 3893}#)
                                (begin
-                                 (let ((#{labels 3902}#
-                                         (list (#{gen-label 352}#)))
-                                       (#{var 3903}#
-                                         (#{gen-var 447}# #{pat 3893}#)))
-                                   (#{build-application 265}#
+                                 (let ((#{labels 3916}#
+                                         (list (#{gen-label 362}#)))
+                                       (#{var 3917}#
+                                         (#{gen-var 460}# #{pat 3907}#)))
+                                   (#{build-application 266}#
                                      #f
-                                     (#{build-simple-lambda 283}#
+                                     (#{build-simple-lambda 284}#
                                        #f
-                                       (list (syntax->datum #{pat 3893}#))
+                                       (list (syntax->datum #{pat 3907}#))
                                        #f
-                                       (list #{var 3903}#)
+                                       (list #{var 3917}#)
                                        '()
-                                       (#{chi 419}#
-                                         #{exp 3894}#
-                                         (#{extend-env 327}#
-                                           #{labels 3902}#
+                                       (#{chi 432}#
+                                         #{exp 3908}#
+                                         (#{extend-env 332}#
+                                           #{labels 3916}#
                                            (list (cons 'syntax
-                                                       (cons #{var 3903}# 0)))
-                                           #{r 3878}#)
-                                         (#{make-binding-wrap 383}#
-                                           (list #{pat 3893}#)
-                                           #{labels 3902}#
+                                                       (cons #{var 3917}# 0)))
+                                           #{r 3892}#)
+                                         (#{make-binding-wrap 396}#
+                                           (list #{pat 3907}#)
+                                           #{labels 3916}#
                                            '(()))
-                                         #{mod 3879}#))
-                                     (list #{x 3875}#)))))
-                             (#{gen-clause 3689}#
-                               #{x 3875}#
-                               #{keys 3876}#
-                               (cdr #{clauses 3877}#)
-                               #{r 3878}#
-                               #{pat 3893}#
+                                         #{mod 3893}#))
+                                     (list #{x 3889}#)))))
+                             (#{gen-clause 3703}#
+                               #{x 3889}#
+                               #{keys 3890}#
+                               (cdr #{clauses 3891}#)
+                               #{r 3892}#
+                               #{pat 3907}#
                                #t
-                               #{exp 3894}#
-                               #{mod 3879}#)))
-                         #{tmp 3890}#)
-                       (let ((#{tmp 3909}#
-                               ($sc-dispatch #{tmp 3889}# '(any any any))))
-                         (if #{tmp 3909}#
+                               #{exp 3908}#
+                               #{mod 3893}#)))
+                         #{tmp 3904}#)
+                       (let ((#{tmp 3923}#
+                               ($sc-dispatch #{tmp 3903}# '(any any any))))
+                         (if #{tmp 3923}#
                            (@apply
-                             (lambda (#{pat 3913}#
-                                      #{fender 3914}#
-                                      #{exp 3915}#)
-                               (#{gen-clause 3689}#
-                                 #{x 3875}#
-                                 #{keys 3876}#
-                                 (cdr #{clauses 3877}#)
-                                 #{r 3878}#
-                                 #{pat 3913}#
-                                 #{fender 3914}#
-                                 #{exp 3915}#
-                                 #{mod 3879}#))
-                             #{tmp 3909}#)
-                           (let ((#{_ 3917}# #{tmp 3889}#))
+                             (lambda (#{pat 3927}#
+                                      #{fender 3928}#
+                                      #{exp 3929}#)
+                               (#{gen-clause 3703}#
+                                 #{x 3889}#
+                                 #{keys 3890}#
+                                 (cdr #{clauses 3891}#)
+                                 #{r 3892}#
+                                 #{pat 3927}#
+                                 #{fender 3928}#
+                                 #{exp 3929}#
+                                 #{mod 3893}#))
+                             #{tmp 3923}#)
+                           (let ((#{_ 3931}# #{tmp 3903}#))
                              (syntax-violation
                                'syntax-case
                                "invalid clause"
-                               (car #{clauses 3877}#))))))))))))
+                               (car #{clauses 3891}#))))))))))))
           (begin
-            (lambda (#{e 3918}#
-                     #{r 3919}#
-                     #{w 3920}#
-                     #{s 3921}#
-                     #{mod 3922}#)
+            (lambda (#{e 3932}#
+                     #{r 3933}#
+                     #{w 3934}#
+                     #{s 3935}#
+                     #{mod 3936}#)
               (begin
-                (let ((#{e 3929}#
-                        (#{source-wrap 407}#
-                          #{e 3918}#
-                          #{w 3920}#
-                          #{s 3921}#
-                          #{mod 3922}#)))
-                  (let ((#{tmp 3930}# #{e 3929}#))
-                    (let ((#{tmp 3931}#
+                (let ((#{e 3943}#
+                        (#{source-wrap 420}#
+                          #{e 3932}#
+                          #{w 3934}#
+                          #{s 3935}#
+                          #{mod 3936}#)))
+                  (let ((#{tmp 3944}# #{e 3943}#))
+                    (let ((#{tmp 3945}#
                             ($sc-dispatch
-                              #{tmp 3930}#
+                              #{tmp 3944}#
                               '(_ any each-any . each-any))))
-                      (if #{tmp 3931}#
+                      (if #{tmp 3945}#
                         (@apply
-                          (lambda (#{val 3935}# #{key 3936}# #{m 3937}#)
+                          (lambda (#{val 3949}# #{key 3950}# #{m 3951}#)
                             (if (and-map
-                                  (lambda (#{x 3938}#)
-                                    (if (#{id? 339}# #{x 3938}#)
-                                      (not (#{ellipsis? 435}# #{x 3938}#))
+                                  (lambda (#{x 3952}#)
+                                    (if (#{id? 344}# #{x 3952}#)
+                                      (not (#{ellipsis? 448}# #{x 3952}#))
                                       #f))
-                                  #{key 3936}#)
+                                  #{key 3950}#)
                               (begin
-                                (let ((#{x 3944}# (#{gen-var 447}# 'tmp)))
-                                  (#{build-application 265}#
-                                    #{s 3921}#
-                                    (#{build-simple-lambda 283}#
+                                (let ((#{x 3958}# (#{gen-var 460}# 'tmp)))
+                                  (#{build-application 266}#
+                                    #{s 3935}#
+                                    (#{build-simple-lambda 284}#
                                       #f
                                       (list 'tmp)
                                       #f
-                                      (list #{x 3944}#)
+                                      (list #{x 3958}#)
                                       '()
-                                      (#{gen-syntax-case 3691}#
-                                        (#{build-lexical-reference 271}#
+                                      (#{gen-syntax-case 3705}#
+                                        (#{build-lexical-reference 272}#
                                           'value
                                           #f
                                           'tmp
-                                          #{x 3944}#)
-                                        #{key 3936}#
-                                        #{m 3937}#
-                                        #{r 3919}#
-                                        #{mod 3922}#))
-                                    (list (#{chi 419}#
-                                            #{val 3935}#
-                                            #{r 3919}#
+                                          #{x 3958}#)
+                                        #{key 3950}#
+                                        #{m 3951}#
+                                        #{r 3933}#
+                                        #{mod 3936}#))
+                                    (list (#{chi 432}#
+                                            #{val 3949}#
+                                            #{r 3933}#
                                             '(())
-                                            #{mod 3922}#)))))
+                                            #{mod 3936}#)))))
                               (syntax-violation
                                 'syntax-case
                                 "invalid literals list"
-                                #{e 3929}#)))
-                          #{tmp 3931}#)
+                                #{e 3943}#)))
+                          #{tmp 3945}#)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp 3930}#))))))))))
+                          #{tmp 3944}#))))))))))
       (set! macroexpand
         (lambda*
-          (#{x 3950}#
+          (#{x 3964}#
             #:optional
-            (#{m 3952}# 'e)
-            (#{esew 3954}# '(eval)))
-          (#{chi-top-sequence 411}#
-            (list #{x 3950}#)
+            (#{m 3966}# 'e)
+            (#{esew 3968}# '(eval)))
+          (#{chi-top-sequence 424}#
+            (list #{x 3964}#)
             '()
             '((top))
             #f
-            #{m 3952}#
-            #{esew 3954}#
+            #{m 3966}#
+            #{esew 3968}#
             (cons 'hygiene (module-name (current-module))))))
       (set! identifier?
-        (lambda (#{x 3958}#)
-          (#{nonsymbol-id? 337}# #{x 3958}#)))
+        (lambda (#{x 3972}#)
+          (#{nonsymbol-id? 342}# #{x 3972}#)))
       (set! datum->syntax
-        (lambda (#{id 3960}# #{datum 3961}#)
-          (#{make-syntax-object 303}#
-            #{datum 3961}#
-            (#{syntax-object-wrap 309}# #{id 3960}#)
-            (#{syntax-object-module 311}# #{id 3960}#))))
+        (lambda (#{id 3974}# #{datum 3975}#)
+          (#{make-syntax-object 305}#
+            #{datum 3975}#
+            (#{syntax-object-wrap 311}# #{id 3974}#)
+            (#{syntax-object-module 313}# #{id 3974}#))))
       (set! syntax->datum
-        (lambda (#{x 3964}#)
-          (#{strip 445}# #{x 3964}# '(()))))
+        (lambda (#{x 3978}#)
+          (#{strip 458}# #{x 3978}# '(()))))
       (set! syntax-source
-        (lambda (#{x 3967}#)
-          (#{source-annotation 320}# #{x 3967}#)))
+        (lambda (#{x 3981}#)
+          (#{source-annotation 322}# #{x 3981}#)))
       (set! generate-temporaries
-        (lambda (#{ls 3969}#)
+        (lambda (#{ls 3983}#)
           (begin
             (begin
-              (let ((#{x 3973}# #{ls 3969}#))
-                (if (not (list? #{x 3973}#))
+              (let ((#{x 3987}# #{ls 3983}#))
+                (if (not (list? #{x 3987}#))
                   (syntax-violation
                     'generate-temporaries
                     "invalid argument"
-                    #{x 3973}#))))
+                    #{x 3987}#))))
             (begin
-              (let ((#{mod 3975}#
+              (let ((#{mod 3989}#
                       (cons 'hygiene (module-name (current-module)))))
-                (map (lambda (#{x 3976}#)
-                       (#{wrap 405}# (gensym) '((top)) #{mod 3975}#))
-                     #{ls 3969}#))))))
+                (map (lambda (#{x 3990}#)
+                       (#{wrap 418}# (gensym) '((top)) #{mod 3989}#))
+                     #{ls 3983}#))))))
       (set! free-identifier=?
-        (lambda (#{x 3980}# #{y 3981}#)
+        (lambda (#{x 3994}# #{y 3995}#)
           (begin
             (begin
-              (let ((#{x 3986}# #{x 3980}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3986}#))
+              (let ((#{x 4000}# #{x 3994}#))
+                (if (not (#{nonsymbol-id? 342}# #{x 4000}#))
                   (syntax-violation
                     'free-identifier=?
                     "invalid argument"
-                    #{x 3986}#))))
+                    #{x 4000}#))))
             (begin
-              (let ((#{x 3989}# #{y 3981}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3989}#))
+              (let ((#{x 4003}# #{y 3995}#))
+                (if (not (#{nonsymbol-id? 342}# #{x 4003}#))
                   (syntax-violation
                     'free-identifier=?
                     "invalid argument"
-                    #{x 3989}#))))
-            (#{free-id=? 395}# #{x 3980}# #{y 3981}#))))
+                    #{x 4003}#))))
+            (#{free-id=? 408}# #{x 3994}# #{y 3995}#))))
       (set! bound-identifier=?
-        (lambda (#{x 3990}# #{y 3991}#)
+        (lambda (#{x 4004}# #{y 4005}#)
           (begin
             (begin
-              (let ((#{x 3996}# #{x 3990}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3996}#))
+              (let ((#{x 4010}# #{x 4004}#))
+                (if (not (#{nonsymbol-id? 342}# #{x 4010}#))
                   (syntax-violation
                     'bound-identifier=?
                     "invalid argument"
-                    #{x 3996}#))))
+                    #{x 4010}#))))
             (begin
-              (let ((#{x 3999}# #{y 3991}#))
-                (if (not (#{nonsymbol-id? 337}# #{x 3999}#))
+              (let ((#{x 4013}# #{y 4005}#))
+                (if (not (#{nonsymbol-id? 342}# #{x 4013}#))
                   (syntax-violation
                     'bound-identifier=?
                     "invalid argument"
-                    #{x 3999}#))))
-            (#{bound-id=? 397}# #{x 3990}# #{y 3991}#))))
+                    #{x 4013}#))))
+            (#{bound-id=? 410}# #{x 4004}# #{y 4005}#))))
       (set! syntax-violation
         (lambda*
-          (#{who 4000}#
-            #{message 4001}#
-            #{form 4002}#
+          (#{who 4014}#
+            #{message 4015}#
+            #{form 4016}#
             #:optional
-            (#{subform 4006}# #f))
+            (#{subform 4020}# #f))
           (begin
             (begin
-              (let ((#{x 4010}# #{who 4000}#))
-                (if (not (let ((#{x 4011}# #{x 4010}#))
+              (let ((#{x 4024}# #{who 4014}#))
+                (if (not (let ((#{x 4025}# #{x 4024}#))
                            (begin
-                             (let ((#{t 4015}# (not #{x 4011}#)))
-                               (if #{t 4015}#
-                                 #{t 4015}#
+                             (let ((#{t 4029}# (not #{x 4025}#)))
+                               (if #{t 4029}#
+                                 #{t 4029}#
                                  (begin
-                                   (let ((#{t 4018}# (string? #{x 4011}#)))
-                                     (if #{t 4018}#
-                                       #{t 4018}#
-                                       (symbol? #{x 4011}#)))))))))
+                                   (let ((#{t 4032}# (string? #{x 4025}#)))
+                                     (if #{t 4032}#
+                                       #{t 4032}#
+                                       (symbol? #{x 4025}#)))))))))
                   (syntax-violation
                     'syntax-violation
                     "invalid argument"
-                    #{x 4010}#))))
+                    #{x 4024}#))))
             (begin
-              (let ((#{x 4022}# #{message 4001}#))
-                (if (not (string? #{x 4022}#))
+              (let ((#{x 4036}# #{message 4015}#))
+                (if (not (string? #{x 4036}#))
                   (syntax-violation
                     'syntax-violation
                     "invalid argument"
-                    #{x 4022}#))))
+                    #{x 4036}#))))
             (throw 'syntax-error
-                   #{who 4000}#
-                   #{message 4001}#
-                   (#{source-annotation 320}#
+                   #{who 4014}#
+                   #{message 4015}#
+                   (#{source-annotation 322}#
                      (begin
-                       (let ((#{t 4025}# #{form 4002}#))
-                         (if #{t 4025}# #{t 4025}# #{subform 4006}#))))
-                   (#{strip 445}# #{form 4002}# '(()))
-                   (if #{subform 4006}#
-                     (#{strip 445}# #{subform 4006}# '(()))
+                       (let ((#{t 4039}# #{form 4016}#))
+                         (if #{t 4039}# #{t 4039}# #{subform 4020}#))))
+                   (#{strip 458}# #{form 4016}# '(()))
+                   (if #{subform 4020}#
+                     (#{strip 458}# #{subform 4020}# '(()))
                      #f)))))
       (letrec*
-        ((#{match-each 4032}#
-           (lambda (#{e 4045}# #{p 4046}# #{w 4047}# #{mod 4048}#)
-             (if (pair? #{e 4045}#)
+        ((#{match-each 4046}#
+           (lambda (#{e 4059}# #{p 4060}# #{w 4061}# #{mod 4062}#)
+             (if (pair? #{e 4059}#)
                (begin
-                 (let ((#{first 4056}#
-                         (#{match 4044}#
-                           (car #{e 4045}#)
-                           #{p 4046}#
-                           #{w 4047}#
+                 (let ((#{first 4070}#
+                         (#{match 4058}#
+                           (car #{e 4059}#)
+                           #{p 4060}#
+                           #{w 4061}#
                            '()
-                           #{mod 4048}#)))
-                   (if #{first 4056}#
+                           #{mod 4062}#)))
+                   (if #{first 4070}#
                      (begin
-                       (let ((#{rest 4060}#
-                               (#{match-each 4032}#
-                                 (cdr #{e 4045}#)
-                                 #{p 4046}#
-                                 #{w 4047}#
-                                 #{mod 4048}#)))
-                         (if #{rest 4060}#
-                           (cons #{first 4056}# #{rest 4060}#)
+                       (let ((#{rest 4074}#
+                               (#{match-each 4046}#
+                                 (cdr #{e 4059}#)
+                                 #{p 4060}#
+                                 #{w 4061}#
+                                 #{mod 4062}#)))
+                         (if #{rest 4074}#
+                           (cons #{first 4070}# #{rest 4074}#)
                            #f)))
                      #f)))
-               (if (null? #{e 4045}#)
+               (if (null? #{e 4059}#)
                  '()
-                 (if (#{syntax-object? 305}# #{e 4045}#)
-                   (#{match-each 4032}#
-                     (#{syntax-object-expression 307}# #{e 4045}#)
-                     #{p 4046}#
-                     (#{join-wraps 387}#
-                       #{w 4047}#
-                       (#{syntax-object-wrap 309}# #{e 4045}#))
-                     (#{syntax-object-module 311}# #{e 4045}#))
+                 (if (#{syntax-object? 307}# #{e 4059}#)
+                   (#{match-each 4046}#
+                     (#{syntax-object-expression 309}# #{e 4059}#)
+                     #{p 4060}#
+                     (#{join-wraps 400}#
+                       #{w 4061}#
+                       (#{syntax-object-wrap 311}# #{e 4059}#))
+                     (#{syntax-object-module 313}# #{e 4059}#))
                    #f)))))
-         (#{match-each+ 4034}#
-           (lambda (#{e 4068}#
-                    #{x-pat 4069}#
-                    #{y-pat 4070}#
-                    #{z-pat 4071}#
-                    #{w 4072}#
-                    #{r 4073}#
-                    #{mod 4074}#)
+         (#{match-each+ 4048}#
+           (lambda (#{e 4082}#
+                    #{x-pat 4083}#
+                    #{y-pat 4084}#
+                    #{z-pat 4085}#
+                    #{w 4086}#
+                    #{r 4087}#
+                    #{mod 4088}#)
              (letrec*
-               ((#{f 4085}#
-                  (lambda (#{e 4086}# #{w 4087}#)
-                    (if (pair? #{e 4086}#)
+               ((#{f 4099}#
+                  (lambda (#{e 4100}# #{w 4101}#)
+                    (if (pair? #{e 4100}#)
                       (call-with-values
                         (lambda ()
-                          (#{f 4085}# (cdr #{e 4086}#) #{w 4087}#))
-                        (lambda (#{xr* 4090}# #{y-pat 4091}# #{r 4092}#)
-                          (if #{r 4092}#
-                            (if (null? #{y-pat 4091}#)
+                          (#{f 4099}# (cdr #{e 4100}#) #{w 4101}#))
+                        (lambda (#{xr* 4104}# #{y-pat 4105}# #{r 4106}#)
+                          (if #{r 4106}#
+                            (if (null? #{y-pat 4105}#)
                               (begin
-                                (let ((#{xr 4097}#
-                                        (#{match 4044}#
-                                          (car #{e 4086}#)
-                                          #{x-pat 4069}#
-                                          #{w 4087}#
+                                (let ((#{xr 4111}#
+                                        (#{match 4058}#
+                                          (car #{e 4100}#)
+                                          #{x-pat 4083}#
+                                          #{w 4101}#
                                           '()
-                                          #{mod 4074}#)))
-                                  (if #{xr 4097}#
+                                          #{mod 4088}#)))
+                                  (if #{xr 4111}#
                                     (values
-                                      (cons #{xr 4097}# #{xr* 4090}#)
-                                      #{y-pat 4091}#
-                                      #{r 4092}#)
+                                      (cons #{xr 4111}# #{xr* 4104}#)
+                                      #{y-pat 4105}#
+                                      #{r 4106}#)
                                     (values #f #f #f))))
                               (values
                                 '()
-                                (cdr #{y-pat 4091}#)
-                                (#{match 4044}#
-                                  (car #{e 4086}#)
-                                  (car #{y-pat 4091}#)
-                                  #{w 4087}#
-                                  #{r 4092}#
-                                  #{mod 4074}#)))
+                                (cdr #{y-pat 4105}#)
+                                (#{match 4058}#
+                                  (car #{e 4100}#)
+                                  (car #{y-pat 4105}#)
+                                  #{w 4101}#
+                                  #{r 4106}#
+                                  #{mod 4088}#)))
                             (values #f #f #f))))
-                      (if (#{syntax-object? 305}# #{e 4086}#)
-                        (#{f 4085}#
-                          (#{syntax-object-expression 307}# #{e 4086}#)
-                          (#{join-wraps 387}# #{w 4087}# #{e 4086}#))
+                      (if (#{syntax-object? 307}# #{e 4100}#)
+                        (#{f 4099}#
+                          (#{syntax-object-expression 309}# #{e 4100}#)
+                          (#{join-wraps 400}# #{w 4101}# #{e 4100}#))
                         (values
                           '()
-                          #{y-pat 4070}#
-                          (#{match 4044}#
-                            #{e 4086}#
-                            #{z-pat 4071}#
-                            #{w 4087}#
-                            #{r 4073}#
-                            #{mod 4074}#)))))))
-               (begin (#{f 4085}# #{e 4068}# #{w 4072}#)))))
-         (#{match-each-any 4036}#
-           (lambda (#{e 4101}# #{w 4102}# #{mod 4103}#)
-             (if (pair? #{e 4101}#)
+                          #{y-pat 4084}#
+                          (#{match 4058}#
+                            #{e 4100}#
+                            #{z-pat 4085}#
+                            #{w 4101}#
+                            #{r 4087}#
+                            #{mod 4088}#)))))))
+               (begin (#{f 4099}# #{e 4082}# #{w 4086}#)))))
+         (#{match-each-any 4050}#
+           (lambda (#{e 4115}# #{w 4116}# #{mod 4117}#)
+             (if (pair? #{e 4115}#)
                (begin
-                 (let ((#{l 4110}#
-                         (#{match-each-any 4036}#
-                           (cdr #{e 4101}#)
-                           #{w 4102}#
-                           #{mod 4103}#)))
-                   (if #{l 4110}#
-                     (cons (#{wrap 405}#
-                             (car #{e 4101}#)
-                             #{w 4102}#
-                             #{mod 4103}#)
-                           #{l 4110}#)
+                 (let ((#{l 4124}#
+                         (#{match-each-any 4050}#
+                           (cdr #{e 4115}#)
+                           #{w 4116}#
+                           #{mod 4117}#)))
+                   (if #{l 4124}#
+                     (cons (#{wrap 418}#
+                             (car #{e 4115}#)
+                             #{w 4116}#
+                             #{mod 4117}#)
+                           #{l 4124}#)
                      #f)))
-               (if (null? #{e 4101}#)
+               (if (null? #{e 4115}#)
                  '()
-                 (if (#{syntax-object? 305}# #{e 4101}#)
-                   (#{match-each-any 4036}#
-                     (#{syntax-object-expression 307}# #{e 4101}#)
-                     (#{join-wraps 387}#
-                       #{w 4102}#
-                       (#{syntax-object-wrap 309}# #{e 4101}#))
-                     #{mod 4103}#)
+                 (if (#{syntax-object? 307}# #{e 4115}#)
+                   (#{match-each-any 4050}#
+                     (#{syntax-object-expression 309}# #{e 4115}#)
+                     (#{join-wraps 400}#
+                       #{w 4116}#
+                       (#{syntax-object-wrap 311}# #{e 4115}#))
+                     #{mod 4117}#)
                    #f)))))
-         (#{match-empty 4038}#
-           (lambda (#{p 4118}# #{r 4119}#)
-             (if (null? #{p 4118}#)
-               #{r 4119}#
-               (if (eq? #{p 4118}# '_)
-                 #{r 4119}#
-                 (if (eq? #{p 4118}# 'any)
-                   (cons '() #{r 4119}#)
-                   (if (pair? #{p 4118}#)
-                     (#{match-empty 4038}#
-                       (car #{p 4118}#)
-                       (#{match-empty 4038}#
-                         (cdr #{p 4118}#)
-                         #{r 4119}#))
-                     (if (eq? #{p 4118}# 'each-any)
-                       (cons '() #{r 4119}#)
+         (#{match-empty 4052}#
+           (lambda (#{p 4132}# #{r 4133}#)
+             (if (null? #{p 4132}#)
+               #{r 4133}#
+               (if (eq? #{p 4132}# '_)
+                 #{r 4133}#
+                 (if (eq? #{p 4132}# 'any)
+                   (cons '() #{r 4133}#)
+                   (if (pair? #{p 4132}#)
+                     (#{match-empty 4052}#
+                       (car #{p 4132}#)
+                       (#{match-empty 4052}#
+                         (cdr #{p 4132}#)
+                         #{r 4133}#))
+                     (if (eq? #{p 4132}# 'each-any)
+                       (cons '() #{r 4133}#)
                        (begin
-                         (let ((#{atom-key 4135}# (vector-ref #{p 4118}# 0)))
-                           (if (eqv? #{atom-key 4135}# 'each)
-                             (#{match-empty 4038}#
-                               (vector-ref #{p 4118}# 1)
-                               #{r 4119}#)
-                             (if (eqv? #{atom-key 4135}# 'each+)
-                               (#{match-empty 4038}#
-                                 (vector-ref #{p 4118}# 1)
-                                 (#{match-empty 4038}#
-                                   (reverse (vector-ref #{p 4118}# 2))
-                                   (#{match-empty 4038}#
-                                     (vector-ref #{p 4118}# 3)
-                                     #{r 4119}#)))
-                               (if (if (eqv? #{atom-key 4135}# 'free-id)
+                         (let ((#{atom-key 4149}# (vector-ref #{p 4132}# 0)))
+                           (if (eqv? #{atom-key 4149}# 'each)
+                             (#{match-empty 4052}#
+                               (vector-ref #{p 4132}# 1)
+                               #{r 4133}#)
+                             (if (eqv? #{atom-key 4149}# 'each+)
+                               (#{match-empty 4052}#
+                                 (vector-ref #{p 4132}# 1)
+                                 (#{match-empty 4052}#
+                                   (reverse (vector-ref #{p 4132}# 2))
+                                   (#{match-empty 4052}#
+                                     (vector-ref #{p 4132}# 3)
+                                     #{r 4133}#)))
+                               (if (if (eqv? #{atom-key 4149}# 'free-id)
                                      #t
-                                     (eqv? #{atom-key 4135}# 'atom))
-                                 #{r 4119}#
-                                 (if (eqv? #{atom-key 4135}# 'vector)
-                                   (#{match-empty 4038}#
-                                     (vector-ref #{p 4118}# 1)
-                                     #{r 4119}#))))))))))))))
-         (#{combine 4040}#
-           (lambda (#{r* 4140}# #{r 4141}#)
-             (if (null? (car #{r* 4140}#))
-               #{r 4141}#
-               (cons (map car #{r* 4140}#)
-                     (#{combine 4040}#
-                       (map cdr #{r* 4140}#)
-                       #{r 4141}#)))))
-         (#{match* 4042}#
-           (lambda (#{e 4144}#
-                    #{p 4145}#
-                    #{w 4146}#
-                    #{r 4147}#
-                    #{mod 4148}#)
-             (if (null? #{p 4145}#)
-               (if (null? #{e 4144}#) #{r 4147}# #f)
-               (if (pair? #{p 4145}#)
-                 (if (pair? #{e 4144}#)
-                   (#{match 4044}#
-                     (car #{e 4144}#)
-                     (car #{p 4145}#)
-                     #{w 4146}#
-                     (#{match 4044}#
-                       (cdr #{e 4144}#)
-                       (cdr #{p 4145}#)
-                       #{w 4146}#
-                       #{r 4147}#
-                       #{mod 4148}#)
-                     #{mod 4148}#)
+                                     (eqv? #{atom-key 4149}# 'atom))
+                                 #{r 4133}#
+                                 (if (eqv? #{atom-key 4149}# 'vector)
+                                   (#{match-empty 4052}#
+                                     (vector-ref #{p 4132}# 1)
+                                     #{r 4133}#))))))))))))))
+         (#{combine 4054}#
+           (lambda (#{r* 4154}# #{r 4155}#)
+             (if (null? (car #{r* 4154}#))
+               #{r 4155}#
+               (cons (map car #{r* 4154}#)
+                     (#{combine 4054}#
+                       (map cdr #{r* 4154}#)
+                       #{r 4155}#)))))
+         (#{match* 4056}#
+           (lambda (#{e 4158}#
+                    #{p 4159}#
+                    #{w 4160}#
+                    #{r 4161}#
+                    #{mod 4162}#)
+             (if (null? #{p 4159}#)
+               (if (null? #{e 4158}#) #{r 4161}# #f)
+               (if (pair? #{p 4159}#)
+                 (if (pair? #{e 4158}#)
+                   (#{match 4058}#
+                     (car #{e 4158}#)
+                     (car #{p 4159}#)
+                     #{w 4160}#
+                     (#{match 4058}#
+                       (cdr #{e 4158}#)
+                       (cdr #{p 4159}#)
+                       #{w 4160}#
+                       #{r 4161}#
+                       #{mod 4162}#)
+                     #{mod 4162}#)
                    #f)
-                 (if (eq? #{p 4145}# 'each-any)
+                 (if (eq? #{p 4159}# 'each-any)
                    (begin
-                     (let ((#{l 4165}#
-                             (#{match-each-any 4036}#
-                               #{e 4144}#
-                               #{w 4146}#
-                               #{mod 4148}#)))
-                       (if #{l 4165}# (cons #{l 4165}# #{r 4147}#) #f)))
+                     (let ((#{l 4179}#
+                             (#{match-each-any 4050}#
+                               #{e 4158}#
+                               #{w 4160}#
+                               #{mod 4162}#)))
+                       (if #{l 4179}# (cons #{l 4179}# #{r 4161}#) #f)))
                    (begin
-                     (let ((#{atom-key 4171}# (vector-ref #{p 4145}# 0)))
-                       (if (eqv? #{atom-key 4171}# 'each)
-                         (if (null? #{e 4144}#)
-                           (#{match-empty 4038}#
-                             (vector-ref #{p 4145}# 1)
-                             #{r 4147}#)
+                     (let ((#{atom-key 4185}# (vector-ref #{p 4159}# 0)))
+                       (if (eqv? #{atom-key 4185}# 'each)
+                         (if (null? #{e 4158}#)
+                           (#{match-empty 4052}#
+                             (vector-ref #{p 4159}# 1)
+                             #{r 4161}#)
                            (begin
-                             (let ((#{l 4174}#
-                                     (#{match-each 4032}#
-                                       #{e 4144}#
-                                       (vector-ref #{p 4145}# 1)
-                                       #{w 4146}#
-                                       #{mod 4148}#)))
-                               (if #{l 4174}#
+                             (let ((#{l 4188}#
+                                     (#{match-each 4046}#
+                                       #{e 4158}#
+                                       (vector-ref #{p 4159}# 1)
+                                       #{w 4160}#
+                                       #{mod 4162}#)))
+                               (if #{l 4188}#
                                  (letrec*
-                                   ((#{collect 4179}#
-                                      (lambda (#{l 4180}#)
-                                        (if (null? (car #{l 4180}#))
-                                          #{r 4147}#
-                                          (cons (map car #{l 4180}#)
-                                                (#{collect 4179}#
-                                                  (map cdr #{l 4180}#)))))))
-                                   (begin (#{collect 4179}# #{l 4174}#)))
+                                   ((#{collect 4193}#
+                                      (lambda (#{l 4194}#)
+                                        (if (null? (car #{l 4194}#))
+                                          #{r 4161}#
+                                          (cons (map car #{l 4194}#)
+                                                (#{collect 4193}#
+                                                  (map cdr #{l 4194}#)))))))
+                                   (begin (#{collect 4193}# #{l 4188}#)))
                                  #f))))
-                         (if (eqv? #{atom-key 4171}# 'each+)
+                         (if (eqv? #{atom-key 4185}# 'each+)
                            (call-with-values
                              (lambda ()
-                               (#{match-each+ 4034}#
-                                 #{e 4144}#
-                                 (vector-ref #{p 4145}# 1)
-                                 (vector-ref #{p 4145}# 2)
-                                 (vector-ref #{p 4145}# 3)
-                                 #{w 4146}#
-                                 #{r 4147}#
-                                 #{mod 4148}#))
-                             (lambda (#{xr* 4182}# #{y-pat 4183}# #{r 4184}#)
-                               (if #{r 4184}#
-                                 (if (null? #{y-pat 4183}#)
-                                   (if (null? #{xr* 4182}#)
-                                     (#{match-empty 4038}#
-                                       (vector-ref #{p 4145}# 1)
-                                       #{r 4184}#)
-                                     (#{combine 4040}#
-                                       #{xr* 4182}#
-                                       #{r 4184}#))
+                               (#{match-each+ 4048}#
+                                 #{e 4158}#
+                                 (vector-ref #{p 4159}# 1)
+                                 (vector-ref #{p 4159}# 2)
+                                 (vector-ref #{p 4159}# 3)
+                                 #{w 4160}#
+                                 #{r 4161}#
+                                 #{mod 4162}#))
+                             (lambda (#{xr* 4196}# #{y-pat 4197}# #{r 4198}#)
+                               (if #{r 4198}#
+                                 (if (null? #{y-pat 4197}#)
+                                   (if (null? #{xr* 4196}#)
+                                     (#{match-empty 4052}#
+                                       (vector-ref #{p 4159}# 1)
+                                       #{r 4198}#)
+                                     (#{combine 4054}#
+                                       #{xr* 4196}#
+                                       #{r 4198}#))
                                    #f)
                                  #f)))
-                           (if (eqv? #{atom-key 4171}# 'free-id)
-                             (if (#{id? 339}# #{e 4144}#)
-                               (if (#{free-id=? 395}#
-                                     (#{wrap 405}#
-                                       #{e 4144}#
-                                       #{w 4146}#
-                                       #{mod 4148}#)
-                                     (vector-ref #{p 4145}# 1))
-                                 #{r 4147}#
+                           (if (eqv? #{atom-key 4185}# 'free-id)
+                             (if (#{id? 344}# #{e 4158}#)
+                               (if (#{free-id=? 408}#
+                                     (#{wrap 418}#
+                                       #{e 4158}#
+                                       #{w 4160}#
+                                       #{mod 4162}#)
+                                     (vector-ref #{p 4159}# 1))
+                                 #{r 4161}#
                                  #f)
                                #f)
-                             (if (eqv? #{atom-key 4171}# 'atom)
+                             (if (eqv? #{atom-key 4185}# 'atom)
                                (if (equal?
-                                     (vector-ref #{p 4145}# 1)
-                                     (#{strip 445}# #{e 4144}# #{w 4146}#))
-                                 #{r 4147}#
+                                     (vector-ref #{p 4159}# 1)
+                                     (#{strip 458}# #{e 4158}# #{w 4160}#))
+                                 #{r 4161}#
                                  #f)
-                               (if (eqv? #{atom-key 4171}# 'vector)
-                                 (if (vector? #{e 4144}#)
-                                   (#{match 4044}#
-                                     (vector->list #{e 4144}#)
-                                     (vector-ref #{p 4145}# 1)
-                                     #{w 4146}#
-                                     #{r 4147}#
-                                     #{mod 4148}#)
+                               (if (eqv? #{atom-key 4185}# 'vector)
+                                 (if (vector? #{e 4158}#)
+                                   (#{match 4058}#
+                                     (vector->list #{e 4158}#)
+                                     (vector-ref #{p 4159}# 1)
+                                     #{w 4160}#
+                                     #{r 4161}#
+                                     #{mod 4162}#)
                                    #f)))))))))))))
-         (#{match 4044}#
-           (lambda (#{e 4201}#
-                    #{p 4202}#
-                    #{w 4203}#
-                    #{r 4204}#
-                    #{mod 4205}#)
-             (if (not #{r 4204}#)
+         (#{match 4058}#
+           (lambda (#{e 4215}#
+                    #{p 4216}#
+                    #{w 4217}#
+                    #{r 4218}#
+                    #{mod 4219}#)
+             (if (not #{r 4218}#)
                #f
-               (if (eq? #{p 4202}# '_)
-                 #{r 4204}#
-                 (if (eq? #{p 4202}# 'any)
-                   (cons (#{wrap 405}# #{e 4201}# #{w 4203}# #{mod 4205}#)
-                         #{r 4204}#)
-                   (if (#{syntax-object? 305}# #{e 4201}#)
-                     (#{match* 4042}#
-                       (#{syntax-object-expression 307}# #{e 4201}#)
-                       #{p 4202}#
-                       (#{join-wraps 387}#
-                         #{w 4203}#
-                         (#{syntax-object-wrap 309}# #{e 4201}#))
-                       #{r 4204}#
-                       (#{syntax-object-module 311}# #{e 4201}#))
-                     (#{match* 4042}#
-                       #{e 4201}#
-                       #{p 4202}#
-                       #{w 4203}#
-                       #{r 4204}#
-                       #{mod 4205}#))))))))
+               (if (eq? #{p 4216}# '_)
+                 #{r 4218}#
+                 (if (eq? #{p 4216}# 'any)
+                   (cons (#{wrap 418}# #{e 4215}# #{w 4217}# #{mod 4219}#)
+                         #{r 4218}#)
+                   (if (#{syntax-object? 307}# #{e 4215}#)
+                     (#{match* 4056}#
+                       (#{syntax-object-expression 309}# #{e 4215}#)
+                       #{p 4216}#
+                       (#{join-wraps 400}#
+                         #{w 4217}#
+                         (#{syntax-object-wrap 311}# #{e 4215}#))
+                       #{r 4218}#
+                       (#{syntax-object-module 313}# #{e 4215}#))
+                     (#{match* 4056}#
+                       #{e 4215}#
+                       #{p 4216}#
+                       #{w 4217}#
+                       #{r 4218}#
+                       #{mod 4219}#))))))))
         (begin
           (set! $sc-dispatch
-            (lambda (#{e 4220}# #{p 4221}#)
-              (if (eq? #{p 4221}# 'any)
-                (list #{e 4220}#)
-                (if (eq? #{p 4221}# '_)
+            (lambda (#{e 4234}# #{p 4235}#)
+              (if (eq? #{p 4235}# 'any)
+                (list #{e 4234}#)
+                (if (eq? #{p 4235}# '_)
                   '()
-                  (if (#{syntax-object? 305}# #{e 4220}#)
-                    (#{match* 4042}#
-                      (#{syntax-object-expression 307}# #{e 4220}#)
-                      #{p 4221}#
-                      (#{syntax-object-wrap 309}# #{e 4220}#)
+                  (if (#{syntax-object? 307}# #{e 4234}#)
+                    (#{match* 4056}#
+                      (#{syntax-object-expression 309}# #{e 4234}#)
+                      #{p 4235}#
+                      (#{syntax-object-wrap 311}# #{e 4234}#)
                       '()
-                      (#{syntax-object-module 311}# #{e 4220}#))
-                    (#{match* 4042}#
-                      #{e 4220}#
-                      #{p 4221}#
+                      (#{syntax-object-module 313}# #{e 4234}#))
+                    (#{match* 4056}#
+                      #{e 4234}#
+                      #{p 4235}#
                       '(())
                       '()
                       #f)))))))))))
@@ -14137,82 +14137,82 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 4232}#)
-      (let ((#{tmp 4234}# #{x 4232}#))
-        (let ((#{tmp 4235}#
+    (lambda (#{x 4246}#)
+      (let ((#{tmp 4248}# #{x 4246}#))
+        (let ((#{tmp 4249}#
                 ($sc-dispatch
-                  #{tmp 4234}#
+                  #{tmp 4248}#
                   '(_ () any . each-any))))
-          (if #{tmp 4235}#
+          (if #{tmp 4249}#
             (@apply
-              (lambda (#{e1 4238}# #{e2 4239}#)
+              (lambda (#{e1 4252}# #{e2 4253}#)
                 (cons '#(syntax-object
                          let
                          ((top)
                           #(ribcage
                             #(e1 e2)
                             #((top) (top))
-                            #("i4236" "i4237"))
+                            #("i4250" "i4251"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4233")))
+                          #(ribcage #(x) #((top)) #("i4247")))
                          (hygiene guile))
-                      (cons '() (cons #{e1 4238}# #{e2 4239}#))))
-              #{tmp 4235}#)
-            (let ((#{tmp 4241}#
+                      (cons '() (cons #{e1 4252}# #{e2 4253}#))))
+              #{tmp 4249}#)
+            (let ((#{tmp 4255}#
                     ($sc-dispatch
-                      #{tmp 4234}#
+                      #{tmp 4248}#
                       '(_ ((any any)) any . each-any))))
-              (if #{tmp 4241}#
+              (if #{tmp 4255}#
                 (@apply
-                  (lambda (#{out 4246}#
-                           #{in 4247}#
-                           #{e1 4248}#
-                           #{e2 4249}#)
+                  (lambda (#{out 4260}#
+                           #{in 4261}#
+                           #{e1 4262}#
+                           #{e2 4263}#)
                     (list '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(out in e1 e2)
                                 #((top) (top) (top) (top))
-                                #("i4242" "i4243" "i4244" "i4245"))
+                                #("i4256" "i4257" "i4258" "i4259"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4233")))
+                              #(ribcage #(x) #((top)) #("i4247")))
                              (hygiene guile))
-                          #{in 4247}#
+                          #{in 4261}#
                           '()
-                          (list #{out 4246}#
+                          (list #{out 4260}#
                                 (cons '#(syntax-object
                                          let
                                          ((top)
                                           #(ribcage
                                             #(out in e1 e2)
                                             #((top) (top) (top) (top))
-                                            #("i4242" "i4243" "i4244" "i4245"))
+                                            #("i4256" "i4257" "i4258" "i4259"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4233")))
+                                          #(ribcage #(x) #((top)) #("i4247")))
                                          (hygiene guile))
                                       (cons '()
-                                            (cons #{e1 4248}# #{e2 4249}#))))))
-                  #{tmp 4241}#)
-                (let ((#{tmp 4251}#
+                                            (cons #{e1 4262}# #{e2 4263}#))))))
+                  #{tmp 4255}#)
+                (let ((#{tmp 4265}#
                         ($sc-dispatch
-                          #{tmp 4234}#
+                          #{tmp 4248}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if #{tmp 4251}#
+                  (if #{tmp 4265}#
                     (@apply
-                      (lambda (#{out 4256}#
-                               #{in 4257}#
-                               #{e1 4258}#
-                               #{e2 4259}#)
+                      (lambda (#{out 4270}#
+                               #{in 4271}#
+                               #{e1 4272}#
+                               #{e2 4273}#)
                         (list '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(out in e1 e2)
                                     #((top) (top) (top) (top))
-                                    #("i4252" "i4253" "i4254" "i4255"))
+                                    #("i4266" "i4267" "i4268" "i4269"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4233")))
+                                  #(ribcage #(x) #((top)) #("i4247")))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        list
@@ -14220,63 +14220,63 @@
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i4252" "i4253" "i4254" "i4255"))
+                                          #("i4266" "i4267" "i4268" "i4269"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4233")))
+                                        #(ribcage #(x) #((top)) #("i4247")))
                                        (hygiene guile))
-                                    #{in 4257}#)
+                                    #{in 4271}#)
                               '()
-                              (list #{out 4256}#
+                              (list #{out 4270}#
                                     (cons '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(out in e1 e2)
                                                 #((top) (top) (top) (top))
-                                                #("i4252"
-                                                  "i4253"
-                                                  "i4254"
-                                                  "i4255"))
+                                                #("i4266"
+                                                  "i4267"
+                                                  "i4268"
+                                                  "i4269"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i4233")))
+                                                #("i4247")))
                                              (hygiene guile))
                                           (cons '()
-                                                (cons #{e1 4258}#
-                                                      #{e2 4259}#))))))
-                      #{tmp 4251}#)
+                                                (cons #{e1 4272}#
+                                                      #{e2 4273}#))))))
+                      #{tmp 4265}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 4234}#)))))))))))
+                      #{tmp 4248}#)))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 4263}#)
-      (let ((#{tmp 4265}# #{x 4263}#))
-        (let ((#{tmp 4266}#
+    (lambda (#{x 4277}#)
+      (let ((#{tmp 4279}# #{x 4277}#))
+        (let ((#{tmp 4280}#
                 ($sc-dispatch
-                  #{tmp 4265}#
+                  #{tmp 4279}#
                   '(_ each-any . #(each ((any . any) any))))))
-          (if #{tmp 4266}#
+          (if #{tmp 4280}#
             (@apply
-              (lambda (#{k 4271}#
-                       #{keyword 4272}#
-                       #{pattern 4273}#
-                       #{template 4274}#)
+              (lambda (#{k 4285}#
+                       #{keyword 4286}#
+                       #{pattern 4287}#
+                       #{template 4288}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
                           #(ribcage
                             #(k keyword pattern template)
                             #((top) (top) (top) (top))
-                            #("i4267" "i4268" "i4269" "i4270"))
+                            #("i4281" "i4282" "i4283" "i4284"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4264")))
+                          #(ribcage #(x) #((top)) #("i4278")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
@@ -14284,9 +14284,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i4267" "i4268" "i4269" "i4270"))
+                             #("i4281" "i4282" "i4283" "i4284"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4264")))
+                           #(ribcage #(x) #((top)) #("i4278")))
                           (hygiene guile)))
                       (vector
                         '(#(syntax-object
@@ -14295,9 +14295,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4267" "i4268" "i4269" "i4270"))
+                               #("i4281" "i4282" "i4283" "i4284"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4264")))
+                             #(ribcage #(x) #((top)) #("i4278")))
                             (hygiene guile))
                           .
                           #(syntax-object
@@ -14306,9 +14306,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4267" "i4268" "i4269" "i4270"))
+                               #("i4281" "i4282" "i4283" "i4284"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4264")))
+                             #(ribcage #(x) #((top)) #("i4278")))
                             (hygiene guile)))
                         (cons '#(syntax-object
                                  patterns
@@ -14316,20 +14316,20 @@
                                   #(ribcage
                                     #(k keyword pattern template)
                                     #((top) (top) (top) (top))
-                                    #("i4267" "i4268" "i4269" "i4270"))
+                                    #("i4281" "i4282" "i4283" "i4284"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4264")))
+                                  #(ribcage #(x) #((top)) #("i4278")))
                                  (hygiene guile))
-                              #{pattern 4273}#))
+                              #{pattern 4287}#))
                       (cons '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i4267" "i4268" "i4269" "i4270"))
+                                  #("i4281" "i4282" "i4283" "i4284"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4264")))
+                                #(ribcage #(x) #((top)) #("i4278")))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      x
@@ -14337,13 +14337,13 @@
                                       #(ribcage
                                         #(k keyword pattern template)
                                         #((top) (top) (top) (top))
-                                        #("i4267" "i4268" "i4269" "i4270"))
+                                        #("i4281" "i4282" "i4283" "i4284"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4264")))
+                                      #(ribcage #(x) #((top)) #("i4278")))
                                      (hygiene guile))
-                                  (cons #{k 4271}#
-                                        (map (lambda (#{tmp 4278}#
-                                                      #{tmp 4277}#)
+                                  (cons #{k 4285}#
+                                        (map (lambda (#{tmp 4292}#
+                                                      #{tmp 4291}#)
                                                (list (cons '#(syntax-object
                                                               dummy
                                                               ((top)
@@ -14356,10 +14356,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4267"
-                                                                   "i4268"
-                                                                   "i4269"
-                                                                   "i4270"))
+                                                                 #("i4281"
+                                                                   "i4282"
+                                                                   "i4283"
+                                                                   "i4284"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14367,9 +14367,9 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4264")))
+                                                                 #("i4278")))
                                                               (hygiene guile))
-                                                           #{tmp 4277}#)
+                                                           #{tmp 4291}#)
                                                      (list '#(syntax-object
                                                               syntax
                                                               ((top)
@@ -14382,10 +14382,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4267"
-                                                                   "i4268"
-                                                                   "i4269"
-                                                                   "i4270"))
+                                                                 #("i4281"
+                                                                   "i4282"
+                                                                   "i4283"
+                                                                   "i4284"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14393,41 +14393,41 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4264")))
+                                                                 #("i4278")))
                                                               (hygiene guile))
-                                                           #{tmp 4278}#)))
-                                             #{template 4274}#
-                                             #{pattern 4273}#))))))
-              #{tmp 4266}#)
-            (let ((#{tmp 4279}#
+                                                           #{tmp 4292}#)))
+                                             #{template 4288}#
+                                             #{pattern 4287}#))))))
+              #{tmp 4280}#)
+            (let ((#{tmp 4293}#
                     ($sc-dispatch
-                      #{tmp 4265}#
+                      #{tmp 4279}#
                       '(_ each-any any . #(each ((any . any) any))))))
-              (if (if #{tmp 4279}#
+              (if (if #{tmp 4293}#
                     (@apply
-                      (lambda (#{k 4285}#
-                               #{docstring 4286}#
-                               #{keyword 4287}#
-                               #{pattern 4288}#
-                               #{template 4289}#)
-                        (string? (syntax->datum #{docstring 4286}#)))
-                      #{tmp 4279}#)
+                      (lambda (#{k 4299}#
+                               #{docstring 4300}#
+                               #{keyword 4301}#
+                               #{pattern 4302}#
+                               #{template 4303}#)
+                        (string? (syntax->datum #{docstring 4300}#)))
+                      #{tmp 4293}#)
                     #f)
                 (@apply
-                  (lambda (#{k 4295}#
-                           #{docstring 4296}#
-                           #{keyword 4297}#
-                           #{pattern 4298}#
-                           #{template 4299}#)
+                  (lambda (#{k 4309}#
+                           #{docstring 4310}#
+                           #{keyword 4311}#
+                           #{pattern 4312}#
+                           #{template 4313}#)
                     (list '#(syntax-object
                              lambda
                              ((top)
                               #(ribcage
                                 #(k docstring keyword pattern template)
                                 #((top) (top) (top) (top) (top))
-                                #("i4290" "i4291" "i4292" "i4293" "i4294"))
+                                #("i4304" "i4305" "i4306" "i4307" "i4308"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4264")))
+                              #(ribcage #(x) #((top)) #("i4278")))
                              (hygiene guile))
                           '(#(syntax-object
                               x
@@ -14435,11 +14435,11 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i4290" "i4291" "i4292" "i4293" "i4294"))
+                                 #("i4304" "i4305" "i4306" "i4307" "i4308"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4264")))
+                               #(ribcage #(x) #((top)) #("i4278")))
                               (hygiene guile)))
-                          #{docstring 4296}#
+                          #{docstring 4310}#
                           (vector
                             '(#(syntax-object
                                 macro-type
@@ -14447,9 +14447,9 @@
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4290" "i4291" "i4292" "i4293" "i4294"))
+                                   #("i4304" "i4305" "i4306" "i4307" "i4308"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4264")))
+                                 #(ribcage #(x) #((top)) #("i4278")))
                                 (hygiene guile))
                               .
                               #(syntax-object
@@ -14458,9 +14458,9 @@
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4290" "i4291" "i4292" "i4293" "i4294"))
+                                   #("i4304" "i4305" "i4306" "i4307" "i4308"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4264")))
+                                 #(ribcage #(x) #((top)) #("i4278")))
                                 (hygiene guile)))
                             (cons '#(syntax-object
                                      patterns
@@ -14468,28 +14468,28 @@
                                       #(ribcage
                                         #(k docstring keyword pattern template)
                                         #((top) (top) (top) (top) (top))
-                                        #("i4290"
-                                          "i4291"
-                                          "i4292"
-                                          "i4293"
-                                          "i4294"))
+                                        #("i4304"
+                                          "i4305"
+                                          "i4306"
+                                          "i4307"
+                                          "i4308"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4264")))
+                                      #(ribcage #(x) #((top)) #("i4278")))
                                      (hygiene guile))
-                                  #{pattern 4298}#))
+                                  #{pattern 4312}#))
                           (cons '#(syntax-object
                                    syntax-case
                                    ((top)
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4290"
-                                        "i4291"
-                                        "i4292"
-                                        "i4293"
-                                        "i4294"))
+                                      #("i4304"
+                                        "i4305"
+                                        "i4306"
+                                        "i4307"
+                                        "i4308"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4264")))
+                                    #(ribcage #(x) #((top)) #("i4278")))
                                    (hygiene guile))
                                 (cons '#(syntax-object
                                          x
@@ -14501,17 +14501,17 @@
                                               pattern
                                               template)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4290"
-                                              "i4291"
-                                              "i4292"
-                                              "i4293"
-                                              "i4294"))
+                                            #("i4304"
+                                              "i4305"
+                                              "i4306"
+                                              "i4307"
+                                              "i4308"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4264")))
+                                          #(ribcage #(x) #((top)) #("i4278")))
                                          (hygiene guile))
-                                      (cons #{k 4295}#
-                                            (map (lambda (#{tmp 4303}#
-                                                          #{tmp 4302}#)
+                                      (cons #{k 4309}#
+                                            (map (lambda (#{tmp 4317}#
+                                                          #{tmp 4316}#)
                                                    (list (cons '#(syntax-object
                                                                   dummy
                                                                   ((top)
@@ -14526,11 +14526,11 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4290"
-                                                                       "i4291"
-                                                                       "i4292"
-                                                                       "i4293"
-                                                                       
"i4294"))
+                                                                     #("i4304"
+                                                                       "i4305"
+                                                                       "i4306"
+                                                                       "i4307"
+                                                                       
"i4308"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14538,10 +14538,10 @@
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     
#("i4264")))
+                                                                     
#("i4278")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp 4302}#)
+                                                               #{tmp 4316}#)
                                                          (list '#(syntax-object
                                                                   syntax
                                                                   ((top)
@@ -14556,11 +14556,11 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4290"
-                                                                       "i4291"
-                                                                       "i4292"
-                                                                       "i4293"
-                                                                       
"i4294"))
+                                                                     #("i4304"
+                                                                       "i4305"
+                                                                       "i4306"
+                                                                       "i4307"
+                                                                       
"i4308"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -14568,48 +14568,167 @@
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     
#("i4264")))
+                                                                     
#("i4278")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp 4303}#)))
-                                                 #{template 4299}#
-                                                 #{pattern 4298}#))))))
-                  #{tmp 4279}#)
+                                                               #{tmp 4317}#)))
+                                                 #{template 4313}#
+                                                 #{pattern 4312}#))))))
+                  #{tmp 4293}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4265}#)))))))))
+                  #{tmp 4279}#)))))))))
+
+(define define-syntax-rule
+  (make-syntax-transformer
+    'define-syntax-rule
+    'macro
+    (lambda (#{x 4318}#)
+      (let ((#{tmp 4320}# #{x 4318}#))
+        (let ((#{tmp 4321}#
+                ($sc-dispatch #{tmp 4320}# '(_ (any . any) any))))
+          (if #{tmp 4321}#
+            (@apply
+              (lambda (#{name 4325}#
+                       #{pattern 4326}#
+                       #{template 4327}#)
+                (list '#(syntax-object
+                         define-syntax
+                         ((top)
+                          #(ribcage
+                            #(name pattern template)
+                            #((top) (top) (top))
+                            #("i4322" "i4323" "i4324"))
+                          #(ribcage () () ())
+                          #(ribcage #(x) #((top)) #("i4319")))
+                         (hygiene guile))
+                      #{name 4325}#
+                      (list '#(syntax-object
+                               syntax-rules
+                               ((top)
+                                #(ribcage
+                                  #(name pattern template)
+                                  #((top) (top) (top))
+                                  #("i4322" "i4323" "i4324"))
+                                #(ribcage () () ())
+                                #(ribcage #(x) #((top)) #("i4319")))
+                               (hygiene guile))
+                            '()
+                            (list (cons '#(syntax-object
+                                           _
+                                           ((top)
+                                            #(ribcage
+                                              #(name pattern template)
+                                              #((top) (top) (top))
+                                              #("i4322" "i4323" "i4324"))
+                                            #(ribcage () () ())
+                                            #(ribcage
+                                              #(x)
+                                              #((top))
+                                              #("i4319")))
+                                           (hygiene guile))
+                                        #{pattern 4326}#)
+                                  #{template 4327}#))))
+              #{tmp 4321}#)
+            (let ((#{tmp 4328}#
+                    ($sc-dispatch
+                      #{tmp 4320}#
+                      '(_ (any . any) any any))))
+              (if (if #{tmp 4328}#
+                    (@apply
+                      (lambda (#{name 4333}#
+                               #{pattern 4334}#
+                               #{docstring 4335}#
+                               #{template 4336}#)
+                        (string? (syntax->datum #{docstring 4335}#)))
+                      #{tmp 4328}#)
+                    #f)
+                (@apply
+                  (lambda (#{name 4341}#
+                           #{pattern 4342}#
+                           #{docstring 4343}#
+                           #{template 4344}#)
+                    (list '#(syntax-object
+                             define-syntax
+                             ((top)
+                              #(ribcage
+                                #(name pattern docstring template)
+                                #((top) (top) (top) (top))
+                                #("i4337" "i4338" "i4339" "i4340"))
+                              #(ribcage () () ())
+                              #(ribcage #(x) #((top)) #("i4319")))
+                             (hygiene guile))
+                          #{name 4341}#
+                          (list '#(syntax-object
+                                   syntax-rules
+                                   ((top)
+                                    #(ribcage
+                                      #(name pattern docstring template)
+                                      #((top) (top) (top) (top))
+                                      #("i4337" "i4338" "i4339" "i4340"))
+                                    #(ribcage () () ())
+                                    #(ribcage #(x) #((top)) #("i4319")))
+                                   (hygiene guile))
+                                '()
+                                #{docstring 4343}#
+                                (list (cons '#(syntax-object
+                                               _
+                                               ((top)
+                                                #(ribcage
+                                                  #(name
+                                                    pattern
+                                                    docstring
+                                                    template)
+                                                  #((top) (top) (top) (top))
+                                                  #("i4337"
+                                                    "i4338"
+                                                    "i4339"
+                                                    "i4340"))
+                                                #(ribcage () () ())
+                                                #(ribcage
+                                                  #(x)
+                                                  #((top))
+                                                  #("i4319")))
+                                               (hygiene guile))
+                                            #{pattern 4342}#)
+                                      #{template 4344}#))))
+                  #{tmp 4328}#)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  #{tmp 4320}#)))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 4304}#)
-      (let ((#{tmp 4306}# #{x 4304}#))
-        (let ((#{tmp 4307}#
+    (lambda (#{x 4345}#)
+      (let ((#{tmp 4347}# #{x 4345}#))
+        (let ((#{tmp 4348}#
                 ($sc-dispatch
-                  #{tmp 4306}#
+                  #{tmp 4347}#
                   '(any #(each (any any)) any . each-any))))
-          (if (if #{tmp 4307}#
+          (if (if #{tmp 4348}#
                 (@apply
-                  (lambda (#{let* 4313}#
-                           #{x 4314}#
-                           #{v 4315}#
-                           #{e1 4316}#
-                           #{e2 4317}#)
-                    (and-map identifier? #{x 4314}#))
-                  #{tmp 4307}#)
+                  (lambda (#{let* 4354}#
+                           #{x 4355}#
+                           #{v 4356}#
+                           #{e1 4357}#
+                           #{e2 4358}#)
+                    (and-map identifier? #{x 4355}#))
+                  #{tmp 4348}#)
                 #f)
             (@apply
-              (lambda (#{let* 4324}#
-                       #{x 4325}#
-                       #{v 4326}#
-                       #{e1 4327}#
-                       #{e2 4328}#)
+              (lambda (#{let* 4365}#
+                       #{x 4366}#
+                       #{v 4367}#
+                       #{e1 4368}#
+                       #{e2 4369}#)
                 (letrec*
-                  ((#{f 4331}#
-                     (lambda (#{bindings 4332}#)
-                       (if (null? #{bindings 4332}#)
+                  ((#{f 4372}#
+                     (lambda (#{bindings 4373}#)
+                       (if (null? #{bindings 4373}#)
                          (cons '#(syntax-object
                                   let
                                   ((top)
@@ -14617,27 +14736,27 @@
                                    #(ribcage
                                      #(f bindings)
                                      #((top) (top))
-                                     #("i4329" "i4330"))
+                                     #("i4370" "i4371"))
                                    #(ribcage
                                      #(let* x v e1 e2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i4319"
-                                       "i4320"
-                                       "i4321"
-                                       "i4322"
-                                       "i4323"))
+                                     #("i4360"
+                                       "i4361"
+                                       "i4362"
+                                       "i4363"
+                                       "i4364"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4305")))
+                                   #(ribcage #(x) #((top)) #("i4346")))
                                   (hygiene guile))
-                               (cons '() (cons #{e1 4327}# #{e2 4328}#)))
-                         (let ((#{tmp 4337}#
-                                 (list (#{f 4331}# (cdr #{bindings 4332}#))
-                                       (car #{bindings 4332}#))))
-                           (let ((#{tmp 4338}#
-                                   ($sc-dispatch #{tmp 4337}# '(any any))))
-                             (if #{tmp 4338}#
+                               (cons '() (cons #{e1 4368}# #{e2 4369}#)))
+                         (let ((#{tmp 4378}#
+                                 (list (#{f 4372}# (cdr #{bindings 4373}#))
+                                       (car #{bindings 4373}#))))
+                           (let ((#{tmp 4379}#
+                                   ($sc-dispatch #{tmp 4378}# '(any any))))
+                             (if #{tmp 4379}#
                                (@apply
-                                 (lambda (#{body 4341}# #{binding 4342}#)
+                                 (lambda (#{body 4382}# #{binding 4383}#)
                                    (list '#(syntax-object
                                             let
                                             ((top)
@@ -14645,96 +14764,96 @@
                                              #(ribcage
                                                #(body binding)
                                                #((top) (top))
-                                               #("i4339" "i4340"))
+                                               #("i4380" "i4381"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(f bindings)
                                                #((top) (top))
-                                               #("i4329" "i4330"))
+                                               #("i4370" "i4371"))
                                              #(ribcage
                                                #(let* x v e1 e2)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4319"
-                                                 "i4320"
-                                                 "i4321"
-                                                 "i4322"
-                                                 "i4323"))
+                                               #("i4360"
+                                                 "i4361"
+                                                 "i4362"
+                                                 "i4363"
+                                                 "i4364"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4305")))
+                                               #("i4346")))
                                             (hygiene guile))
-                                         (list #{binding 4342}#)
-                                         #{body 4341}#))
-                                 #{tmp 4338}#)
+                                         (list #{binding 4383}#)
+                                         #{body 4382}#))
+                                 #{tmp 4379}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 4337}#))))))))
+                                 #{tmp 4378}#))))))))
                   (begin
-                    (#{f 4331}# (map list #{x 4325}# #{v 4326}#)))))
-              #{tmp 4307}#)
+                    (#{f 4372}# (map list #{x 4366}# #{v 4367}#)))))
+              #{tmp 4348}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4306}#)))))))
+              #{tmp 4347}#)))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 4343}#)
-      (let ((#{tmp 4345}# #{orig-x 4343}#))
-        (let ((#{tmp 4346}#
+    (lambda (#{orig-x 4384}#)
+      (let ((#{tmp 4386}# #{orig-x 4384}#))
+        (let ((#{tmp 4387}#
                 ($sc-dispatch
-                  #{tmp 4345}#
+                  #{tmp 4386}#
                   '(_ #(each (any any . any))
                       (any . each-any)
                       .
                       each-any))))
-          (if #{tmp 4346}#
+          (if #{tmp 4387}#
             (@apply
-              (lambda (#{var 4353}#
-                       #{init 4354}#
-                       #{step 4355}#
-                       #{e0 4356}#
-                       #{e1 4357}#
-                       #{c 4358}#)
-                (let ((#{tmp 4360}#
-                        (map (lambda (#{v 4381}# #{s 4382}#)
-                               (let ((#{tmp 4385}# #{s 4382}#))
-                                 (let ((#{tmp 4386}#
-                                         ($sc-dispatch #{tmp 4385}# '())))
-                                   (if #{tmp 4386}#
+              (lambda (#{var 4394}#
+                       #{init 4395}#
+                       #{step 4396}#
+                       #{e0 4397}#
+                       #{e1 4398}#
+                       #{c 4399}#)
+                (let ((#{tmp 4401}#
+                        (map (lambda (#{v 4422}# #{s 4423}#)
+                               (let ((#{tmp 4426}# #{s 4423}#))
+                                 (let ((#{tmp 4427}#
+                                         ($sc-dispatch #{tmp 4426}# '())))
+                                   (if #{tmp 4427}#
                                      (@apply
-                                       (lambda () #{v 4381}#)
-                                       #{tmp 4386}#)
-                                     (let ((#{tmp 4387}#
+                                       (lambda () #{v 4422}#)
+                                       #{tmp 4427}#)
+                                     (let ((#{tmp 4428}#
                                              ($sc-dispatch
-                                               #{tmp 4385}#
+                                               #{tmp 4426}#
                                                '(any))))
-                                       (if #{tmp 4387}#
+                                       (if #{tmp 4428}#
                                          (@apply
-                                           (lambda (#{e 4389}#) #{e 4389}#)
-                                           #{tmp 4387}#)
-                                         (let ((#{_ 4391}# #{tmp 4385}#))
+                                           (lambda (#{e 4430}#) #{e 4430}#)
+                                           #{tmp 4428}#)
+                                         (let ((#{_ 4432}# #{tmp 4426}#))
                                            (syntax-violation
                                              'do
                                              "bad step expression"
-                                             #{orig-x 4343}#
-                                             #{s 4382}#))))))))
-                             #{var 4353}#
-                             #{step 4355}#)))
-                  (let ((#{tmp 4361}#
-                          ($sc-dispatch #{tmp 4360}# 'each-any)))
-                    (if #{tmp 4361}#
+                                             #{orig-x 4384}#
+                                             #{s 4423}#))))))))
+                             #{var 4394}#
+                             #{step 4396}#)))
+                  (let ((#{tmp 4402}#
+                          ($sc-dispatch #{tmp 4401}# 'each-any)))
+                    (if #{tmp 4402}#
                       (@apply
-                        (lambda (#{step 4363}#)
-                          (let ((#{tmp 4364}# #{e1 4357}#))
-                            (let ((#{tmp 4365}#
-                                    ($sc-dispatch #{tmp 4364}# '())))
-                              (if #{tmp 4365}#
+                        (lambda (#{step 4404}#)
+                          (let ((#{tmp 4405}# #{e1 4398}#))
+                            (let ((#{tmp 4406}#
+                                    ($sc-dispatch #{tmp 4405}# '())))
+                              (if #{tmp 4406}#
                                 (@apply
                                   (lambda ()
                                     (list '#(syntax-object
@@ -14744,7 +14863,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4362"))
+                                                #("i4403"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -14753,17 +14872,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4347"
-                                                  "i4348"
-                                                  "i4349"
-                                                  "i4350"
-                                                  "i4351"
-                                                  "i4352"))
+                                                #("i4388"
+                                                  "i4389"
+                                                  "i4390"
+                                                  "i4391"
+                                                  "i4392"
+                                                  "i4393"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4344")))
+                                                #("i4385")))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
@@ -14772,7 +14891,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4362"))
+                                                #("i4403"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -14781,19 +14900,19 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4347"
-                                                  "i4348"
-                                                  "i4349"
-                                                  "i4350"
-                                                  "i4351"
-                                                  "i4352"))
+                                                #("i4388"
+                                                  "i4389"
+                                                  "i4390"
+                                                  "i4391"
+                                                  "i4392"
+                                                  "i4393"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4344")))
+                                                #("i4385")))
                                              (hygiene guile))
-                                          (map list #{var 4353}# #{init 4354}#)
+                                          (map list #{var 4394}# #{init 4395}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
@@ -14801,7 +14920,7 @@
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i4362"))
+                                                      #("i4403"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -14810,17 +14929,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4347"
-                                                        "i4348"
-                                                        "i4349"
-                                                        "i4350"
-                                                        "i4351"
-                                                        "i4352"))
+                                                      #("i4388"
+                                                        "i4389"
+                                                        "i4390"
+                                                        "i4391"
+                                                        "i4392"
+                                                        "i4393"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i4344")))
+                                                      #("i4385")))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          not
@@ -14829,7 +14948,7 @@
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4362"))
+                                                            #("i4403"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -14843,19 +14962,19 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4347"
-                                                              "i4348"
-                                                              "i4349"
-                                                              "i4350"
-                                                              "i4351"
-                                                              "i4352"))
+                                                            #("i4388"
+                                                              "i4389"
+                                                              "i4390"
+                                                              "i4391"
+                                                              "i4392"
+                                                              "i4393"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4344")))
+                                                            #("i4385")))
                                                          (hygiene guile))
-                                                      #{e0 4356}#)
+                                                      #{e0 4397}#)
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
@@ -14863,7 +14982,7 @@
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4362"))
+                                                            #("i4403"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -14877,20 +14996,20 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4347"
-                                                              "i4348"
-                                                              "i4349"
-                                                              "i4350"
-                                                              "i4351"
-                                                              "i4352"))
+                                                            #("i4388"
+                                                              "i4389"
+                                                              "i4390"
+                                                              "i4391"
+                                                              "i4392"
+                                                              "i4393"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4344")))
+                                                            #("i4385")))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 4358}#
+                                                        #{c 4399}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
@@ -14901,7 +15020,7 @@
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i4362"))
+                                                                          
#("i4403"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -14915,12 +15034,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4347"
-                                                                            
"i4348"
-                                                                            
"i4349"
-                                                                            
"i4350"
-                                                                            
"i4351"
-                                                                            
"i4352"))
+                                                                          
#("i4388"
+                                                                            
"i4389"
+                                                                            
"i4390"
+                                                                            
"i4391"
+                                                                            
"i4392"
+                                                                            
"i4393"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -14928,30 +15047,30 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i4344")))
+                                                                          
#("i4385")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step 
4363}#)))))))
-                                  #{tmp 4365}#)
-                                (let ((#{tmp 4370}#
+                                                                    #{step 
4404}#)))))))
+                                  #{tmp 4406}#)
+                                (let ((#{tmp 4411}#
                                         ($sc-dispatch
-                                          #{tmp 4364}#
+                                          #{tmp 4405}#
                                           '(any . each-any))))
-                                  (if #{tmp 4370}#
+                                  (if #{tmp 4411}#
                                     (@apply
-                                      (lambda (#{e1 4373}# #{e2 4374}#)
+                                      (lambda (#{e1 4414}# #{e2 4415}#)
                                         (list '#(syntax-object
                                                  let
                                                  ((top)
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4371" "i4372"))
+                                                    #("i4412" "i4413"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4362"))
+                                                    #("i4403"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -14960,17 +15079,17 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4347"
-                                                      "i4348"
-                                                      "i4349"
-                                                      "i4350"
-                                                      "i4351"
-                                                      "i4352"))
+                                                    #("i4388"
+                                                      "i4389"
+                                                      "i4390"
+                                                      "i4391"
+                                                      "i4392"
+                                                      "i4393"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4344")))
+                                                    #("i4385")))
                                                  (hygiene guile))
                                               '#(syntax-object
                                                  doloop
@@ -14978,12 +15097,12 @@
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4371" "i4372"))
+                                                    #("i4412" "i4413"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4362"))
+                                                    #("i4403"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -14992,33 +15111,33 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4347"
-                                                      "i4348"
-                                                      "i4349"
-                                                      "i4350"
-                                                      "i4351"
-                                                      "i4352"))
+                                                    #("i4388"
+                                                      "i4389"
+                                                      "i4390"
+                                                      "i4391"
+                                                      "i4392"
+                                                      "i4393"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4344")))
+                                                    #("i4385")))
                                                  (hygiene guile))
                                               (map list
-                                                   #{var 4353}#
-                                                   #{init 4354}#)
+                                                   #{var 4394}#
+                                                   #{init 4395}#)
                                               (list '#(syntax-object
                                                        if
                                                        ((top)
                                                         #(ribcage
                                                           #(e1 e2)
                                                           #((top) (top))
-                                                          #("i4371" "i4372"))
+                                                          #("i4412" "i4413"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(step)
                                                           #((top))
-                                                          #("i4362"))
+                                                          #("i4403"))
                                                         #(ribcage
                                                           #(var
                                                             init
@@ -15032,27 +15151,27 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4347"
-                                                            "i4348"
-                                                            "i4349"
-                                                            "i4350"
-                                                            "i4351"
-                                                            "i4352"))
+                                                          #("i4388"
+                                                            "i4389"
+                                                            "i4390"
+                                                            "i4391"
+                                                            "i4392"
+                                                            "i4393"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(orig-x)
                                                           #((top))
-                                                          #("i4344")))
+                                                          #("i4385")))
                                                        (hygiene guile))
-                                                    #{e0 4356}#
+                                                    #{e0 4397}#
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4371"
-                                                                  "i4372"))
+                                                                #("i4412"
+                                                                  "i4413"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15060,7 +15179,7 @@
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4362"))
+                                                                #("i4403"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15074,12 +15193,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4347"
-                                                                  "i4348"
-                                                                  "i4349"
-                                                                  "i4350"
-                                                                  "i4351"
-                                                                  "i4352"))
+                                                                #("i4388"
+                                                                  "i4389"
+                                                                  "i4390"
+                                                                  "i4391"
+                                                                  "i4392"
+                                                                  "i4393"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15087,18 +15206,18 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4344")))
+                                                                #("i4385")))
                                                              (hygiene guile))
-                                                          (cons #{e1 4373}#
-                                                                #{e2 4374}#))
+                                                          (cons #{e1 4414}#
+                                                                #{e2 4415}#))
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4371"
-                                                                  "i4372"))
+                                                                #("i4412"
+                                                                  "i4413"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15106,7 +15225,7 @@
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4362"))
+                                                                #("i4403"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15120,12 +15239,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4347"
-                                                                  "i4348"
-                                                                  "i4349"
-                                                                  "i4350"
-                                                                  "i4351"
-                                                                  "i4352"))
+                                                                #("i4388"
+                                                                  "i4389"
+                                                                  "i4390"
+                                                                  "i4391"
+                                                                  "i4392"
+                                                                  "i4393"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15133,10 +15252,10 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4344")))
+                                                                #("i4385")))
                                                              (hygiene guile))
                                                           (append
-                                                            #{c 4358}#
+                                                            #{c 4399}#
                                                             (list (cons 
'#(syntax-object
                                                                            
doloop
                                                                            
((top)
@@ -15145,8 +15264,8 @@
                                                                                
 e2)
                                                                               
#((top)
                                                                                
 (top))
-                                                                              
#("i4371"
-                                                                               
 "i4372"))
+                                                                              
#("i4412"
+                                                                               
 "i4413"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -15154,7 +15273,7 @@
                                                                             
#(ribcage
                                                                               
#(step)
                                                                               
#((top))
-                                                                              
#("i4362"))
+                                                                              
#("i4403"))
                                                                             
#(ribcage
                                                                               
#(var
                                                                                
 init
@@ -15168,12 +15287,12 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top))
-                                                                              
#("i4347"
-                                                                               
 "i4348"
-                                                                               
 "i4349"
-                                                                               
 "i4350"
-                                                                               
 "i4351"
-                                                                               
 "i4352"))
+                                                                              
#("i4388"
+                                                                               
 "i4389"
+                                                                               
 "i4390"
+                                                                               
 "i4391"
+                                                                               
 "i4392"
+                                                                               
 "i4393"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -15181,37 +15300,37 @@
                                                                             
#(ribcage
                                                                               
#(orig-x)
                                                                               
#((top))
-                                                                              
#("i4344")))
+                                                                              
#("i4385")))
                                                                            
(hygiene
                                                                              
guile))
-                                                                        #{step 
4363}#)))))))
-                                      #{tmp 4370}#)
+                                                                        #{step 
4404}#)))))))
+                                      #{tmp 4411}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp 4364}#)))))))
-                        #{tmp 4361}#)
+                                      #{tmp 4405}#)))))))
+                        #{tmp 4402}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 4360}#)))))
-              #{tmp 4346}#)
+                        #{tmp 4401}#)))))
+              #{tmp 4387}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4345}#)))))))
+              #{tmp 4386}#)))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 4395}#
-         (lambda (#{p 4408}# #{lev 4409}#)
-           (let ((#{tmp 4412}# #{p 4408}#))
-             (let ((#{tmp 4413}#
+      ((#{quasi 4436}#
+         (lambda (#{p 4449}# #{lev 4450}#)
+           (let ((#{tmp 4453}# #{p 4449}#))
+             (let ((#{tmp 4454}#
                      ($sc-dispatch
-                       #{tmp 4412}#
+                       #{tmp 4453}#
                        '(#(free-id
                            #(syntax-object
                              unquote
@@ -15220,7 +15339,7 @@
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4410" "i4411"))
+                                #("i4451" "i4452"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -15229,28 +15348,28 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4406"
-                                 "i4404"
-                                 "i4402"
-                                 "i4400"
-                                 "i4398"
-                                 "i4396"
-                                 "i4394")))
+                                ("i4447"
+                                 "i4445"
+                                 "i4443"
+                                 "i4441"
+                                 "i4439"
+                                 "i4437"
+                                 "i4435")))
                              (hygiene guile)))
                          any))))
-               (if #{tmp 4413}#
+               (if #{tmp 4454}#
                  (@apply
-                   (lambda (#{p 4415}#)
-                     (if (= #{lev 4409}# 0)
+                   (lambda (#{p 4456}#)
+                     (if (= #{lev 4450}# 0)
                        (list '#(syntax-object
                                 "value"
                                 ((top)
-                                 #(ribcage #(p) #((top)) #("i4414"))
+                                 #(ribcage #(p) #((top)) #("i4455"))
                                  #(ribcage () () ())
                                  #(ribcage
                                    #(p lev)
                                    #((top) (top))
-                                   #("i4410" "i4411"))
+                                   #("i4451" "i4452"))
                                  #(ribcage
                                    (emit quasivector
                                          quasilist*
@@ -15259,25 +15378,25 @@
                                          vquasi
                                          quasi)
                                    ((top) (top) (top) (top) (top) (top) (top))
-                                   ("i4406"
-                                    "i4404"
-                                    "i4402"
-                                    "i4400"
-                                    "i4398"
-                                    "i4396"
-                                    "i4394")))
+                                   ("i4447"
+                                    "i4445"
+                                    "i4443"
+                                    "i4441"
+                                    "i4439"
+                                    "i4437"
+                                    "i4435")))
                                 (hygiene guile))
-                             #{p 4415}#)
-                       (#{quasicons 4399}#
+                             #{p 4456}#)
+                       (#{quasicons 4440}#
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4414"))
+                              #(ribcage #(p) #((top)) #("i4455"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4410" "i4411"))
+                                #("i4451" "i4452"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -15286,23 +15405,23 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4406"
-                                 "i4404"
-                                 "i4402"
-                                 "i4400"
-                                 "i4398"
-                                 "i4396"
-                                 "i4394")))
+                                ("i4447"
+                                 "i4445"
+                                 "i4443"
+                                 "i4441"
+                                 "i4439"
+                                 "i4437"
+                                 "i4435")))
                              (hygiene guile))
                            #(syntax-object
                              unquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4414"))
+                              #(ribcage #(p) #((top)) #("i4455"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4410" "i4411"))
+                                #("i4451" "i4452"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -15311,21 +15430,21 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4406"
-                                 "i4404"
-                                 "i4402"
-                                 "i4400"
-                                 "i4398"
-                                 "i4396"
-                                 "i4394")))
+                                ("i4447"
+                                 "i4445"
+                                 "i4443"
+                                 "i4441"
+                                 "i4439"
+                                 "i4437"
+                                 "i4435")))
                              (hygiene guile)))
-                         (#{quasi 4395}#
-                           (list #{p 4415}#)
-                           (#{1-}# #{lev 4409}#)))))
-                   #{tmp 4413}#)
-                 (let ((#{tmp 4416}#
+                         (#{quasi 4436}#
+                           (list #{p 4456}#)
+                           (#{1-}# #{lev 4450}#)))))
+                   #{tmp 4454}#)
+                 (let ((#{tmp 4457}#
                          ($sc-dispatch
-                           #{tmp 4412}#
+                           #{tmp 4453}#
                            '(#(free-id
                                #(syntax-object
                                  quasiquote
@@ -15334,7 +15453,7 @@
                                   #(ribcage
                                     #(p lev)
                                     #((top) (top))
-                                    #("i4410" "i4411"))
+                                    #("i4451" "i4452"))
                                   #(ribcage
                                     (emit quasivector
                                           quasilist*
@@ -15343,28 +15462,28 @@
                                           vquasi
                                           quasi)
                                     ((top) (top) (top) (top) (top) (top) (top))
-                                    ("i4406"
-                                     "i4404"
-                                     "i4402"
-                                     "i4400"
-                                     "i4398"
-                                     "i4396"
-                                     "i4394")))
+                                    ("i4447"
+                                     "i4445"
+                                     "i4443"
+                                     "i4441"
+                                     "i4439"
+                                     "i4437"
+                                     "i4435")))
                                  (hygiene guile)))
                              any))))
-                   (if #{tmp 4416}#
+                   (if #{tmp 4457}#
                      (@apply
-                       (lambda (#{p 4418}#)
-                         (#{quasicons 4399}#
+                       (lambda (#{p 4459}#)
+                         (#{quasicons 4440}#
                            '(#(syntax-object
                                "quote"
                                ((top)
-                                #(ribcage #(p) #((top)) #("i4417"))
+                                #(ribcage #(p) #((top)) #("i4458"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i4410" "i4411"))
+                                  #("i4451" "i4452"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -15373,23 +15492,23 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i4406"
-                                   "i4404"
-                                   "i4402"
-                                   "i4400"
-                                   "i4398"
-                                   "i4396"
-                                   "i4394")))
+                                  ("i4447"
+                                   "i4445"
+                                   "i4443"
+                                   "i4441"
+                                   "i4439"
+                                   "i4437"
+                                   "i4435")))
                                (hygiene guile))
                              #(syntax-object
                                quasiquote
                                ((top)
-                                #(ribcage #(p) #((top)) #("i4417"))
+                                #(ribcage #(p) #((top)) #("i4458"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i4410" "i4411"))
+                                  #("i4451" "i4452"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -15398,27 +15517,27 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i4406"
-                                   "i4404"
-                                   "i4402"
-                                   "i4400"
-                                   "i4398"
-                                   "i4396"
-                                   "i4394")))
+                                  ("i4447"
+                                   "i4445"
+                                   "i4443"
+                                   "i4441"
+                                   "i4439"
+                                   "i4437"
+                                   "i4435")))
                                (hygiene guile)))
-                           (#{quasi 4395}#
-                             (list #{p 4418}#)
-                             (#{1+}# #{lev 4409}#))))
-                       #{tmp 4416}#)
-                     (let ((#{tmp 4419}#
-                             ($sc-dispatch #{tmp 4412}# '(any . any))))
-                       (if #{tmp 4419}#
+                           (#{quasi 4436}#
+                             (list #{p 4459}#)
+                             (#{1+}# #{lev 4450}#))))
+                       #{tmp 4457}#)
+                     (let ((#{tmp 4460}#
+                             ($sc-dispatch #{tmp 4453}# '(any . any))))
+                       (if #{tmp 4460}#
                          (@apply
-                           (lambda (#{p 4422}# #{q 4423}#)
-                             (let ((#{tmp 4424}# #{p 4422}#))
-                               (let ((#{tmp 4425}#
+                           (lambda (#{p 4463}# #{q 4464}#)
+                             (let ((#{tmp 4465}# #{p 4463}#))
+                               (let ((#{tmp 4466}#
                                        ($sc-dispatch
-                                         #{tmp 4424}#
+                                         #{tmp 4465}#
                                          '(#(free-id
                                              #(syntax-object
                                                unquote
@@ -15426,12 +15545,12 @@
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i4420" "i4421"))
+                                                  #("i4461" "i4462"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i4410" "i4411"))
+                                                  #("i4451" "i4452"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -15446,40 +15565,40 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i4406"
-                                                   "i4404"
-                                                   "i4402"
-                                                   "i4400"
-                                                   "i4398"
-                                                   "i4396"
-                                                   "i4394")))
+                                                  ("i4447"
+                                                   "i4445"
+                                                   "i4443"
+                                                   "i4441"
+                                                   "i4439"
+                                                   "i4437"
+                                                   "i4435")))
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 4425}#
+                                 (if #{tmp 4466}#
                                    (@apply
-                                     (lambda (#{p 4427}#)
-                                       (if (= #{lev 4409}# 0)
-                                         (#{quasilist* 4403}#
-                                           (map (lambda (#{tmp 4428}#)
+                                     (lambda (#{p 4468}#)
+                                       (if (= #{lev 4450}# 0)
+                                         (#{quasilist* 4444}#
+                                           (map (lambda (#{tmp 4469}#)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i4426"))
+                                                              #("i4467"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i4420"
-                                                                "i4421"))
+                                                              #("i4461"
+                                                                "i4462"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i4410"
-                                                                "i4411"))
+                                                              #("i4451"
+                                                                "i4452"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
@@ -15494,37 +15613,37 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i4406"
-                                                               "i4404"
-                                                               "i4402"
-                                                               "i4400"
-                                                               "i4398"
-                                                               "i4396"
-                                                               "i4394")))
+                                                              ("i4447"
+                                                               "i4445"
+                                                               "i4443"
+                                                               "i4441"
+                                                               "i4439"
+                                                               "i4437"
+                                                               "i4435")))
                                                            (hygiene guile))
-                                                        #{tmp 4428}#))
-                                                #{p 4427}#)
-                                           (#{quasi 4395}#
-                                             #{q 4423}#
-                                             #{lev 4409}#))
-                                         (#{quasicons 4399}#
-                                           (#{quasicons 4399}#
+                                                        #{tmp 4469}#))
+                                                #{p 4468}#)
+                                           (#{quasi 4436}#
+                                             #{q 4464}#
+                                             #{lev 4450}#))
+                                         (#{quasicons 4440}#
+                                           (#{quasicons 4440}#
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i4426"))
+                                                    #("i4467"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i4420" "i4421"))
+                                                    #("i4461" "i4462"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4410" "i4411"))
+                                                    #("i4451" "i4452"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -15539,13 +15658,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i4406"
-                                                     "i4404"
-                                                     "i4402"
-                                                     "i4400"
-                                                     "i4398"
-                                                     "i4396"
-                                                     "i4394")))
+                                                    ("i4447"
+                                                     "i4445"
+                                                     "i4443"
+                                                     "i4441"
+                                                     "i4439"
+                                                     "i4437"
+                                                     "i4435")))
                                                  (hygiene guile))
                                                #(syntax-object
                                                  unquote
@@ -15553,16 +15672,16 @@
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i4426"))
+                                                    #("i4467"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i4420" "i4421"))
+                                                    #("i4461" "i4462"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i4410" "i4411"))
+                                                    #("i4451" "i4452"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -15577,24 +15696,24 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i4406"
-                                                     "i4404"
-                                                     "i4402"
-                                                     "i4400"
-                                                     "i4398"
-                                                     "i4396"
-                                                     "i4394")))
+                                                    ("i4447"
+                                                     "i4445"
+                                                     "i4443"
+                                                     "i4441"
+                                                     "i4439"
+                                                     "i4437"
+                                                     "i4435")))
                                                  (hygiene guile)))
-                                             (#{quasi 4395}#
-                                               #{p 4427}#
-                                               (#{1-}# #{lev 4409}#)))
-                                           (#{quasi 4395}#
-                                             #{q 4423}#
-                                             #{lev 4409}#))))
-                                     #{tmp 4425}#)
-                                   (let ((#{tmp 4430}#
+                                             (#{quasi 4436}#
+                                               #{p 4468}#
+                                               (#{1-}# #{lev 4450}#)))
+                                           (#{quasi 4436}#
+                                             #{q 4464}#
+                                             #{lev 4450}#))))
+                                     #{tmp 4466}#)
+                                   (let ((#{tmp 4471}#
                                            ($sc-dispatch
-                                             #{tmp 4424}#
+                                             #{tmp 4465}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    unquote-splicing
@@ -15602,12 +15721,12 @@
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i4420" "i4421"))
+                                                      #("i4461" "i4462"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4410" "i4411"))
+                                                      #("i4451" "i4452"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -15622,35 +15741,35 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i4406"
-                                                       "i4404"
-                                                       "i4402"
-                                                       "i4400"
-                                                       "i4398"
-                                                       "i4396"
-                                                       "i4394")))
+                                                      ("i4447"
+                                                       "i4445"
+                                                       "i4443"
+                                                       "i4441"
+                                                       "i4439"
+                                                       "i4437"
+                                                       "i4435")))
                                                    (hygiene guile)))
                                                .
                                                each-any))))
-                                     (if #{tmp 4430}#
+                                     (if #{tmp 4471}#
                                        (@apply
-                                         (lambda (#{p 4432}#)
-                                           (if (= #{lev 4409}# 0)
-                                             (#{quasiappend 4401}#
-                                               (map (lambda (#{tmp 4433}#)
+                                         (lambda (#{p 4473}#)
+                                           (if (= #{lev 4450}# 0)
+                                             (#{quasiappend 4442}#
+                                               (map (lambda (#{tmp 4474}#)
                                                       (list '#(syntax-object
                                                                "value"
                                                                ((top)
                                                                 #(ribcage
                                                                   #(p)
                                                                   #((top))
-                                                                  #("i4431"))
+                                                                  #("i4472"))
                                                                 #(ribcage
                                                                   #(p q)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4420"
-                                                                    "i4421"))
+                                                                  #("i4461"
+                                                                    "i4462"))
                                                                 #(ribcage
                                                                   ()
                                                                   ()
@@ -15659,8 +15778,8 @@
                                                                   #(p lev)
                                                                   #((top)
                                                                     (top))
-                                                                  #("i4410"
-                                                                    "i4411"))
+                                                                  #("i4451"
+                                                                    "i4452"))
                                                                 #(ribcage
                                                                   (emit 
quasivector
                                                                         
quasilist*
@@ -15675,37 +15794,37 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                  ("i4406"
-                                                                   "i4404"
-                                                                   "i4402"
-                                                                   "i4400"
-                                                                   "i4398"
-                                                                   "i4396"
-                                                                   "i4394")))
+                                                                  ("i4447"
+                                                                   "i4445"
+                                                                   "i4443"
+                                                                   "i4441"
+                                                                   "i4439"
+                                                                   "i4437"
+                                                                   "i4435")))
                                                                (hygiene guile))
-                                                            #{tmp 4433}#))
-                                                    #{p 4432}#)
-                                               (#{quasi 4395}#
-                                                 #{q 4423}#
-                                                 #{lev 4409}#))
-                                             (#{quasicons 4399}#
-                                               (#{quasicons 4399}#
+                                                            #{tmp 4474}#))
+                                                    #{p 4473}#)
+                                               (#{quasi 4436}#
+                                                 #{q 4464}#
+                                                 #{lev 4450}#))
+                                             (#{quasicons 4440}#
+                                               (#{quasicons 4440}#
                                                  '(#(syntax-object
                                                      "quote"
                                                      ((top)
                                                       #(ribcage
                                                         #(p)
                                                         #((top))
-                                                        #("i4431"))
+                                                        #("i4472"))
                                                       #(ribcage
                                                         #(p q)
                                                         #((top) (top))
-                                                        #("i4420" "i4421"))
+                                                        #("i4461" "i4462"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(p lev)
                                                         #((top) (top))
-                                                        #("i4410" "i4411"))
+                                                        #("i4451" "i4452"))
                                                       #(ribcage
                                                         (emit quasivector
                                                               quasilist*
@@ -15720,13 +15839,13 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                        ("i4406"
-                                                         "i4404"
-                                                         "i4402"
-                                                         "i4400"
-                                                         "i4398"
-                                                         "i4396"
-                                                         "i4394")))
+                                                        ("i4447"
+                                                         "i4445"
+                                                         "i4443"
+                                                         "i4441"
+                                                         "i4439"
+                                                         "i4437"
+                                                         "i4435")))
                                                      (hygiene guile))
                                                    #(syntax-object
                                                      unquote-splicing
@@ -15734,16 +15853,16 @@
                                                       #(ribcage
                                                         #(p)
                                                         #((top))
-                                                        #("i4431"))
+                                                        #("i4472"))
                                                       #(ribcage
                                                         #(p q)
                                                         #((top) (top))
-                                                        #("i4420" "i4421"))
+                                                        #("i4461" "i4462"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(p lev)
                                                         #((top) (top))
-                                                        #("i4410" "i4411"))
+                                                        #("i4451" "i4452"))
                                                       #(ribcage
                                                         (emit quasivector
                                                               quasilist*
@@ -15758,50 +15877,50 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                        ("i4406"
-                                                         "i4404"
-                                                         "i4402"
-                                                         "i4400"
-                                                         "i4398"
-                                                         "i4396"
-                                                         "i4394")))
+                                                        ("i4447"
+                                                         "i4445"
+                                                         "i4443"
+                                                         "i4441"
+                                                         "i4439"
+                                                         "i4437"
+                                                         "i4435")))
                                                      (hygiene guile)))
-                                                 (#{quasi 4395}#
-                                                   #{p 4432}#
-                                                   (#{1-}# #{lev 4409}#)))
-                                               (#{quasi 4395}#
-                                                 #{q 4423}#
-                                                 #{lev 4409}#))))
-                                         #{tmp 4430}#)
-                                       (let ((#{_ 4436}# #{tmp 4424}#))
-                                         (#{quasicons 4399}#
-                                           (#{quasi 4395}#
-                                             #{p 4422}#
-                                             #{lev 4409}#)
-                                           (#{quasi 4395}#
-                                             #{q 4423}#
-                                             #{lev 4409}#)))))))))
-                           #{tmp 4419}#)
-                         (let ((#{tmp 4437}#
+                                                 (#{quasi 4436}#
+                                                   #{p 4473}#
+                                                   (#{1-}# #{lev 4450}#)))
+                                               (#{quasi 4436}#
+                                                 #{q 4464}#
+                                                 #{lev 4450}#))))
+                                         #{tmp 4471}#)
+                                       (let ((#{_ 4477}# #{tmp 4465}#))
+                                         (#{quasicons 4440}#
+                                           (#{quasi 4436}#
+                                             #{p 4463}#
+                                             #{lev 4450}#)
+                                           (#{quasi 4436}#
+                                             #{q 4464}#
+                                             #{lev 4450}#)))))))))
+                           #{tmp 4460}#)
+                         (let ((#{tmp 4478}#
                                  ($sc-dispatch
-                                   #{tmp 4412}#
+                                   #{tmp 4453}#
                                    '#(vector each-any))))
-                           (if #{tmp 4437}#
+                           (if #{tmp 4478}#
                              (@apply
-                               (lambda (#{x 4439}#)
-                                 (#{quasivector 4405}#
-                                   (#{vquasi 4397}# #{x 4439}# #{lev 4409}#)))
-                               #{tmp 4437}#)
-                             (let ((#{p 4442}# #{tmp 4412}#))
+                               (lambda (#{x 4480}#)
+                                 (#{quasivector 4446}#
+                                   (#{vquasi 4438}# #{x 4480}# #{lev 4450}#)))
+                               #{tmp 4478}#)
+                             (let ((#{p 4483}# #{tmp 4453}#))
                                (list '#(syntax-object
                                         "quote"
                                         ((top)
-                                         #(ribcage #(p) #((top)) #("i4441"))
+                                         #(ribcage #(p) #((top)) #("i4482"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(p lev)
                                            #((top) (top))
-                                           #("i4410" "i4411"))
+                                           #("i4451" "i4452"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -15816,27 +15935,27 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i4406"
-                                            "i4404"
-                                            "i4402"
-                                            "i4400"
-                                            "i4398"
-                                            "i4396"
-                                            "i4394")))
+                                           ("i4447"
+                                            "i4445"
+                                            "i4443"
+                                            "i4441"
+                                            "i4439"
+                                            "i4437"
+                                            "i4435")))
                                         (hygiene guile))
-                                     #{p 4442}#)))))))))))))
-       (#{vquasi 4397}#
-         (lambda (#{p 4443}# #{lev 4444}#)
-           (let ((#{tmp 4447}# #{p 4443}#))
-             (let ((#{tmp 4448}#
-                     ($sc-dispatch #{tmp 4447}# '(any . any))))
-               (if #{tmp 4448}#
+                                     #{p 4483}#)))))))))))))
+       (#{vquasi 4438}#
+         (lambda (#{p 4484}# #{lev 4485}#)
+           (let ((#{tmp 4488}# #{p 4484}#))
+             (let ((#{tmp 4489}#
+                     ($sc-dispatch #{tmp 4488}# '(any . any))))
+               (if #{tmp 4489}#
                  (@apply
-                   (lambda (#{p 4451}# #{q 4452}#)
-                     (let ((#{tmp 4453}# #{p 4451}#))
-                       (let ((#{tmp 4454}#
+                   (lambda (#{p 4492}# #{q 4493}#)
+                     (let ((#{tmp 4494}# #{p 4492}#))
+                       (let ((#{tmp 4495}#
                                ($sc-dispatch
-                                 #{tmp 4453}#
+                                 #{tmp 4494}#
                                  '(#(free-id
                                      #(syntax-object
                                        unquote
@@ -15844,12 +15963,12 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4449" "i4450"))
+                                          #("i4490" "i4491"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4445" "i4446"))
+                                          #("i4486" "i4487"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
@@ -15864,38 +15983,38 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i4406"
-                                           "i4404"
-                                           "i4402"
-                                           "i4400"
-                                           "i4398"
-                                           "i4396"
-                                           "i4394")))
+                                          ("i4447"
+                                           "i4445"
+                                           "i4443"
+                                           "i4441"
+                                           "i4439"
+                                           "i4437"
+                                           "i4435")))
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 4454}#
+                         (if #{tmp 4495}#
                            (@apply
-                             (lambda (#{p 4456}#)
-                               (if (= #{lev 4444}# 0)
-                                 (#{quasilist* 4403}#
-                                   (map (lambda (#{tmp 4457}#)
+                             (lambda (#{p 4497}#)
+                               (if (= #{lev 4485}# 0)
+                                 (#{quasilist* 4444}#
+                                   (map (lambda (#{tmp 4498}#)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i4455"))
+                                                      #("i4496"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i4449" "i4450"))
+                                                      #("i4490" "i4491"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i4445" "i4446"))
+                                                      #("i4486" "i4487"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -15910,32 +16029,32 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i4406"
-                                                       "i4404"
-                                                       "i4402"
-                                                       "i4400"
-                                                       "i4398"
-                                                       "i4396"
-                                                       "i4394")))
+                                                      ("i4447"
+                                                       "i4445"
+                                                       "i4443"
+                                                       "i4441"
+                                                       "i4439"
+                                                       "i4437"
+                                                       "i4435")))
                                                    (hygiene guile))
-                                                #{tmp 4457}#))
-                                        #{p 4456}#)
-                                   (#{vquasi 4397}# #{q 4452}# #{lev 4444}#))
-                                 (#{quasicons 4399}#
-                                   (#{quasicons 4399}#
+                                                #{tmp 4498}#))
+                                        #{p 4497}#)
+                                   (#{vquasi 4438}# #{q 4493}# #{lev 4485}#))
+                                 (#{quasicons 4440}#
+                                   (#{quasicons 4440}#
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i4455"))
+                                          #(ribcage #(p) #((top)) #("i4496"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i4449" "i4450"))
+                                            #("i4490" "i4491"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i4445" "i4446"))
+                                            #("i4486" "i4487"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -15950,27 +16069,27 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i4406"
-                                             "i4404"
-                                             "i4402"
-                                             "i4400"
-                                             "i4398"
-                                             "i4396"
-                                             "i4394")))
+                                            ("i4447"
+                                             "i4445"
+                                             "i4443"
+                                             "i4441"
+                                             "i4439"
+                                             "i4437"
+                                             "i4435")))
                                          (hygiene guile))
                                        #(syntax-object
                                          unquote
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i4455"))
+                                          #(ribcage #(p) #((top)) #("i4496"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i4449" "i4450"))
+                                            #("i4490" "i4491"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i4445" "i4446"))
+                                            #("i4486" "i4487"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -15985,22 +16104,22 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i4406"
-                                             "i4404"
-                                             "i4402"
-                                             "i4400"
-                                             "i4398"
-                                             "i4396"
-                                             "i4394")))
+                                            ("i4447"
+                                             "i4445"
+                                             "i4443"
+                                             "i4441"
+                                             "i4439"
+                                             "i4437"
+                                             "i4435")))
                                          (hygiene guile)))
-                                     (#{quasi 4395}#
-                                       #{p 4456}#
-                                       (#{1-}# #{lev 4444}#)))
-                                   (#{vquasi 4397}# #{q 4452}# #{lev 4444}#))))
-                             #{tmp 4454}#)
-                           (let ((#{tmp 4459}#
+                                     (#{quasi 4436}#
+                                       #{p 4497}#
+                                       (#{1-}# #{lev 4485}#)))
+                                   (#{vquasi 4438}# #{q 4493}# #{lev 4485}#))))
+                             #{tmp 4495}#)
+                           (let ((#{tmp 4500}#
                                    ($sc-dispatch
-                                     #{tmp 4453}#
+                                     #{tmp 4494}#
                                      '(#(free-id
                                          #(syntax-object
                                            unquote-splicing
@@ -16008,12 +16127,12 @@
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i4449" "i4450"))
+                                              #("i4490" "i4491"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4445" "i4446"))
+                                              #("i4486" "i4487"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
@@ -16028,38 +16147,38 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i4406"
-                                               "i4404"
-                                               "i4402"
-                                               "i4400"
-                                               "i4398"
-                                               "i4396"
-                                               "i4394")))
+                                              ("i4447"
+                                               "i4445"
+                                               "i4443"
+                                               "i4441"
+                                               "i4439"
+                                               "i4437"
+                                               "i4435")))
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 4459}#
+                             (if #{tmp 4500}#
                                (@apply
-                                 (lambda (#{p 4461}#)
-                                   (if (= #{lev 4444}# 0)
-                                     (#{quasiappend 4401}#
-                                       (map (lambda (#{tmp 4462}#)
+                                 (lambda (#{p 4502}#)
+                                   (if (= #{lev 4485}# 0)
+                                     (#{quasiappend 4442}#
+                                       (map (lambda (#{tmp 4503}#)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i4460"))
+                                                          #("i4501"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i4449" "i4450"))
+                                                          #("i4490" "i4491"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i4445" "i4446"))
+                                                          #("i4486" "i4487"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -16074,37 +16193,37 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i4406"
-                                                           "i4404"
-                                                           "i4402"
-                                                           "i4400"
-                                                           "i4398"
-                                                           "i4396"
-                                                           "i4394")))
+                                                          ("i4447"
+                                                           "i4445"
+                                                           "i4443"
+                                                           "i4441"
+                                                           "i4439"
+                                                           "i4437"
+                                                           "i4435")))
                                                        (hygiene guile))
-                                                    #{tmp 4462}#))
-                                            #{p 4461}#)
-                                       (#{vquasi 4397}#
-                                         #{q 4452}#
-                                         #{lev 4444}#))
-                                     (#{quasicons 4399}#
-                                       (#{quasicons 4399}#
+                                                    #{tmp 4503}#))
+                                            #{p 4502}#)
+                                       (#{vquasi 4438}#
+                                         #{q 4493}#
+                                         #{lev 4485}#))
+                                     (#{quasicons 4440}#
+                                       (#{quasicons 4440}#
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i4460"))
+                                                #("i4501"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i4449" "i4450"))
+                                                #("i4490" "i4491"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4445" "i4446"))
+                                                #("i4486" "i4487"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -16119,13 +16238,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i4406"
-                                                 "i4404"
-                                                 "i4402"
-                                                 "i4400"
-                                                 "i4398"
-                                                 "i4396"
-                                                 "i4394")))
+                                                ("i4447"
+                                                 "i4445"
+                                                 "i4443"
+                                                 "i4441"
+                                                 "i4439"
+                                                 "i4437"
+                                                 "i4435")))
                                              (hygiene guile))
                                            #(syntax-object
                                              unquote-splicing
@@ -16133,16 +16252,16 @@
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i4460"))
+                                                #("i4501"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i4449" "i4450"))
+                                                #("i4490" "i4491"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4445" "i4446"))
+                                                #("i4486" "i4487"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -16157,30 +16276,30 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i4406"
-                                                 "i4404"
-                                                 "i4402"
-                                                 "i4400"
-                                                 "i4398"
-                                                 "i4396"
-                                                 "i4394")))
+                                                ("i4447"
+                                                 "i4445"
+                                                 "i4443"
+                                                 "i4441"
+                                                 "i4439"
+                                                 "i4437"
+                                                 "i4435")))
                                              (hygiene guile)))
-                                         (#{quasi 4395}#
-                                           #{p 4461}#
-                                           (#{1-}# #{lev 4444}#)))
-                                       (#{vquasi 4397}#
-                                         #{q 4452}#
-                                         #{lev 4444}#))))
-                                 #{tmp 4459}#)
-                               (let ((#{_ 4465}# #{tmp 4453}#))
-                                 (#{quasicons 4399}#
-                                   (#{quasi 4395}# #{p 4451}# #{lev 4444}#)
-                                   (#{vquasi 4397}#
-                                     #{q 4452}#
-                                     #{lev 4444}#)))))))))
-                   #{tmp 4448}#)
-                 (let ((#{tmp 4466}# ($sc-dispatch #{tmp 4447}# '())))
-                   (if #{tmp 4466}#
+                                         (#{quasi 4436}#
+                                           #{p 4502}#
+                                           (#{1-}# #{lev 4485}#)))
+                                       (#{vquasi 4438}#
+                                         #{q 4493}#
+                                         #{lev 4485}#))))
+                                 #{tmp 4500}#)
+                               (let ((#{_ 4506}# #{tmp 4494}#))
+                                 (#{quasicons 4440}#
+                                   (#{quasi 4436}# #{p 4492}# #{lev 4485}#)
+                                   (#{vquasi 4438}#
+                                     #{q 4493}#
+                                     #{lev 4485}#)))))))))
+                   #{tmp 4489}#)
+                 (let ((#{tmp 4507}# ($sc-dispatch #{tmp 4488}# '())))
+                   (if #{tmp 4507}#
                      (@apply
                        (lambda ()
                          '(#(syntax-object
@@ -16190,7 +16309,7 @@
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4445" "i4446"))
+                                #("i4486" "i4487"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -16199,66 +16318,66 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i4406"
-                                 "i4404"
-                                 "i4402"
-                                 "i4400"
-                                 "i4398"
-                                 "i4396"
-                                 "i4394")))
+                                ("i4447"
+                                 "i4445"
+                                 "i4443"
+                                 "i4441"
+                                 "i4439"
+                                 "i4437"
+                                 "i4435")))
                              (hygiene guile))
                            ()))
-                       #{tmp 4466}#)
+                       #{tmp 4507}#)
                      (syntax-violation
                        #f
                        "source expression failed to match any pattern"
-                       #{tmp 4447}#))))))))
-       (#{quasicons 4399}#
-         (lambda (#{x 4467}# #{y 4468}#)
-           (let ((#{tmp 4472}# (list #{x 4467}# #{y 4468}#)))
-             (let ((#{tmp 4473}#
-                     ($sc-dispatch #{tmp 4472}# '(any any))))
-               (if #{tmp 4473}#
+                       #{tmp 4488}#))))))))
+       (#{quasicons 4440}#
+         (lambda (#{x 4508}# #{y 4509}#)
+           (let ((#{tmp 4513}# (list #{x 4508}# #{y 4509}#)))
+             (let ((#{tmp 4514}#
+                     ($sc-dispatch #{tmp 4513}# '(any any))))
+               (if #{tmp 4514}#
                  (@apply
-                   (lambda (#{x 4476}# #{y 4477}#)
-                     (let ((#{tmp 4478}# #{y 4477}#))
-                       (let ((#{tmp 4479}#
+                   (lambda (#{x 4517}# #{y 4518}#)
+                     (let ((#{tmp 4519}# #{y 4518}#))
+                       (let ((#{tmp 4520}#
                                ($sc-dispatch
-                                 #{tmp 4478}#
+                                 #{tmp 4519}#
                                  '(#(atom "quote") any))))
-                         (if #{tmp 4479}#
+                         (if #{tmp 4520}#
                            (@apply
-                             (lambda (#{dy 4481}#)
-                               (let ((#{tmp 4482}# #{x 4476}#))
-                                 (let ((#{tmp 4483}#
+                             (lambda (#{dy 4522}#)
+                               (let ((#{tmp 4523}# #{x 4517}#))
+                                 (let ((#{tmp 4524}#
                                          ($sc-dispatch
-                                           #{tmp 4482}#
+                                           #{tmp 4523}#
                                            '(#(atom "quote") any))))
-                                   (if #{tmp 4483}#
+                                   (if #{tmp 4524}#
                                      (@apply
-                                       (lambda (#{dx 4485}#)
+                                       (lambda (#{dx 4526}#)
                                          (list '#(syntax-object
                                                   "quote"
                                                   ((top)
                                                    #(ribcage
                                                      #(dx)
                                                      #((top))
-                                                     #("i4484"))
+                                                     #("i4525"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4480"))
+                                                     #("i4521"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4474" "i4475"))
+                                                     #("i4515" "i4516"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4469" "i4470"))
+                                                     #("i4510" "i4511"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -16273,40 +16392,40 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4406"
-                                                      "i4404"
-                                                      "i4402"
-                                                      "i4400"
-                                                      "i4398"
-                                                      "i4396"
-                                                      "i4394")))
+                                                     ("i4447"
+                                                      "i4445"
+                                                      "i4443"
+                                                      "i4441"
+                                                      "i4439"
+                                                      "i4437"
+                                                      "i4435")))
                                                   (hygiene guile))
-                                               (cons #{dx 4485}# #{dy 4481}#)))
-                                       #{tmp 4483}#)
-                                     (let ((#{_ 4487}# #{tmp 4482}#))
-                                       (if (null? #{dy 4481}#)
+                                               (cons #{dx 4526}# #{dy 4522}#)))
+                                       #{tmp 4524}#)
+                                     (let ((#{_ 4528}# #{tmp 4523}#))
+                                       (if (null? #{dy 4522}#)
                                          (list '#(syntax-object
                                                   "list"
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4486"))
+                                                     #("i4527"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4480"))
+                                                     #("i4521"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4474" "i4475"))
+                                                     #("i4515" "i4516"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4469" "i4470"))
+                                                     #("i4510" "i4511"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -16321,37 +16440,37 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4406"
-                                                      "i4404"
-                                                      "i4402"
-                                                      "i4400"
-                                                      "i4398"
-                                                      "i4396"
-                                                      "i4394")))
+                                                     ("i4447"
+                                                      "i4445"
+                                                      "i4443"
+                                                      "i4441"
+                                                      "i4439"
+                                                      "i4437"
+                                                      "i4435")))
                                                   (hygiene guile))
-                                               #{x 4476}#)
+                                               #{x 4517}#)
                                          (list '#(syntax-object
                                                   "list*"
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4486"))
+                                                     #("i4527"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4480"))
+                                                     #("i4521"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4474" "i4475"))
+                                                     #("i4515" "i4516"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4469" "i4470"))
+                                                     #("i4510" "i4511"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -16366,42 +16485,42 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i4406"
-                                                      "i4404"
-                                                      "i4402"
-                                                      "i4400"
-                                                      "i4398"
-                                                      "i4396"
-                                                      "i4394")))
+                                                     ("i4447"
+                                                      "i4445"
+                                                      "i4443"
+                                                      "i4441"
+                                                      "i4439"
+                                                      "i4437"
+                                                      "i4435")))
                                                   (hygiene guile))
-                                               #{x 4476}#
-                                               #{y 4477}#)))))))
-                             #{tmp 4479}#)
-                           (let ((#{tmp 4488}#
+                                               #{x 4517}#
+                                               #{y 4518}#)))))))
+                             #{tmp 4520}#)
+                           (let ((#{tmp 4529}#
                                    ($sc-dispatch
-                                     #{tmp 4478}#
+                                     #{tmp 4519}#
                                      '(#(atom "list") . any))))
-                             (if #{tmp 4488}#
+                             (if #{tmp 4529}#
                                (@apply
-                                 (lambda (#{stuff 4490}#)
+                                 (lambda (#{stuff 4531}#)
                                    (cons '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(stuff)
                                                #((top))
-                                               #("i4489"))
+                                               #("i4530"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4474" "i4475"))
+                                               #("i4515" "i4516"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4469" "i4470"))
+                                               #("i4510" "i4511"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -16416,41 +16535,41 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4406"
-                                                "i4404"
-                                                "i4402"
-                                                "i4400"
-                                                "i4398"
-                                                "i4396"
-                                                "i4394")))
+                                               ("i4447"
+                                                "i4445"
+                                                "i4443"
+                                                "i4441"
+                                                "i4439"
+                                                "i4437"
+                                                "i4435")))
                                             (hygiene guile))
-                                         (cons #{x 4476}# #{stuff 4490}#)))
-                                 #{tmp 4488}#)
-                               (let ((#{tmp 4491}#
+                                         (cons #{x 4517}# #{stuff 4531}#)))
+                                 #{tmp 4529}#)
+                               (let ((#{tmp 4532}#
                                        ($sc-dispatch
-                                         #{tmp 4478}#
+                                         #{tmp 4519}#
                                          '(#(atom "list*") . any))))
-                                 (if #{tmp 4491}#
+                                 (if #{tmp 4532}#
                                    (@apply
-                                     (lambda (#{stuff 4493}#)
+                                     (lambda (#{stuff 4534}#)
                                        (cons '#(syntax-object
                                                 "list*"
                                                 ((top)
                                                  #(ribcage
                                                    #(stuff)
                                                    #((top))
-                                                   #("i4492"))
+                                                   #("i4533"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x y)
                                                    #((top) (top))
-                                                   #("i4474" "i4475"))
+                                                   #("i4515" "i4516"))
                                                  #(ribcage () () ())
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x y)
                                                    #((top) (top))
-                                                   #("i4469" "i4470"))
+                                                   #("i4510" "i4511"))
                                                  #(ribcage
                                                    (emit quasivector
                                                          quasilist*
@@ -16465,35 +16584,35 @@
                                                     (top)
                                                     (top)
                                                     (top))
-                                                   ("i4406"
-                                                    "i4404"
-                                                    "i4402"
-                                                    "i4400"
-                                                    "i4398"
-                                                    "i4396"
-                                                    "i4394")))
+                                                   ("i4447"
+                                                    "i4445"
+                                                    "i4443"
+                                                    "i4441"
+                                                    "i4439"
+                                                    "i4437"
+                                                    "i4435")))
                                                 (hygiene guile))
-                                             (cons #{x 4476}# #{stuff 4493}#)))
-                                     #{tmp 4491}#)
-                                   (let ((#{_ 4495}# #{tmp 4478}#))
+                                             (cons #{x 4517}# #{stuff 4534}#)))
+                                     #{tmp 4532}#)
+                                   (let ((#{_ 4536}# #{tmp 4519}#))
                                      (list '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(_)
                                                  #((top))
-                                                 #("i4494"))
+                                                 #("i4535"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4474" "i4475"))
+                                                 #("i4515" "i4516"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i4469" "i4470"))
+                                                 #("i4510" "i4511"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -16508,30 +16627,30 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i4406"
-                                                  "i4404"
-                                                  "i4402"
-                                                  "i4400"
-                                                  "i4398"
-                                                  "i4396"
-                                                  "i4394")))
+                                                 ("i4447"
+                                                  "i4445"
+                                                  "i4443"
+                                                  "i4441"
+                                                  "i4439"
+                                                  "i4437"
+                                                  "i4435")))
                                               (hygiene guile))
-                                           #{x 4476}#
-                                           #{y 4477}#))))))))))
-                   #{tmp 4473}#)
+                                           #{x 4517}#
+                                           #{y 4518}#))))))))))
+                   #{tmp 4514}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 4472}#))))))
-       (#{quasiappend 4401}#
-         (lambda (#{x 4496}# #{y 4497}#)
-           (let ((#{tmp 4500}# #{y 4497}#))
-             (let ((#{tmp 4501}#
-                     ($sc-dispatch #{tmp 4500}# '(#(atom "quote") ()))))
-               (if #{tmp 4501}#
+                   #{tmp 4513}#))))))
+       (#{quasiappend 4442}#
+         (lambda (#{x 4537}# #{y 4538}#)
+           (let ((#{tmp 4541}# #{y 4538}#))
+             (let ((#{tmp 4542}#
+                     ($sc-dispatch #{tmp 4541}# '(#(atom "quote") ()))))
+               (if #{tmp 4542}#
                  (@apply
                    (lambda ()
-                     (if (null? #{x 4496}#)
+                     (if (null? #{x 4537}#)
                        '(#(syntax-object
                            "quote"
                            ((top)
@@ -16539,7 +16658,7 @@
                             #(ribcage
                               #(x y)
                               #((top) (top))
-                              #("i4498" "i4499"))
+                              #("i4539" "i4540"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -16548,23 +16667,23 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i4406"
-                               "i4404"
-                               "i4402"
-                               "i4400"
-                               "i4398"
-                               "i4396"
-                               "i4394")))
+                              ("i4447"
+                               "i4445"
+                               "i4443"
+                               "i4441"
+                               "i4439"
+                               "i4437"
+                               "i4435")))
                            (hygiene guile))
                          ())
-                       (if (null? (cdr #{x 4496}#))
-                         (car #{x 4496}#)
-                         (let ((#{tmp 4508}# #{x 4496}#))
-                           (let ((#{tmp 4509}#
-                                   ($sc-dispatch #{tmp 4508}# 'each-any)))
-                             (if #{tmp 4509}#
+                       (if (null? (cdr #{x 4537}#))
+                         (car #{x 4537}#)
+                         (let ((#{tmp 4549}# #{x 4537}#))
+                           (let ((#{tmp 4550}#
+                                   ($sc-dispatch #{tmp 4549}# 'each-any)))
+                             (if #{tmp 4550}#
                                (@apply
-                                 (lambda (#{p 4511}#)
+                                 (lambda (#{p 4552}#)
                                    (cons '#(syntax-object
                                             "append"
                                             ((top)
@@ -16572,12 +16691,12 @@
                                              #(ribcage
                                                #(p)
                                                #((top))
-                                               #("i4510"))
+                                               #("i4551"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4498" "i4499"))
+                                               #("i4539" "i4540"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -16592,30 +16711,30 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4406"
-                                                "i4404"
-                                                "i4402"
-                                                "i4400"
-                                                "i4398"
-                                                "i4396"
-                                                "i4394")))
+                                               ("i4447"
+                                                "i4445"
+                                                "i4443"
+                                                "i4441"
+                                                "i4439"
+                                                "i4437"
+                                                "i4435")))
                                             (hygiene guile))
-                                         #{p 4511}#))
-                                 #{tmp 4509}#)
+                                         #{p 4552}#))
+                                 #{tmp 4550}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 4508}#)))))))
-                   #{tmp 4501}#)
-                 (let ((#{_ 4514}# #{tmp 4500}#))
-                   (if (null? #{x 4496}#)
-                     #{y 4497}#
-                     (let ((#{tmp 4519}# (list #{x 4496}# #{y 4497}#)))
-                       (let ((#{tmp 4520}#
-                               ($sc-dispatch #{tmp 4519}# '(each-any any))))
-                         (if #{tmp 4520}#
+                                 #{tmp 4549}#)))))))
+                   #{tmp 4542}#)
+                 (let ((#{_ 4555}# #{tmp 4541}#))
+                   (if (null? #{x 4537}#)
+                     #{y 4538}#
+                     (let ((#{tmp 4560}# (list #{x 4537}# #{y 4538}#)))
+                       (let ((#{tmp 4561}#
+                               ($sc-dispatch #{tmp 4560}# '(each-any any))))
+                         (if #{tmp 4561}#
                            (@apply
-                             (lambda (#{p 4523}# #{y 4524}#)
+                             (lambda (#{p 4564}# #{y 4565}#)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
@@ -16623,13 +16742,13 @@
                                          #(ribcage
                                            #(p y)
                                            #((top) (top))
-                                           #("i4521" "i4522"))
-                                         #(ribcage #(_) #((top)) #("i4513"))
+                                           #("i4562" "i4563"))
+                                         #(ribcage #(_) #((top)) #("i4554"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i4498" "i4499"))
+                                           #("i4539" "i4540"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -16644,47 +16763,47 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i4406"
-                                            "i4404"
-                                            "i4402"
-                                            "i4400"
-                                            "i4398"
-                                            "i4396"
-                                            "i4394")))
+                                           ("i4447"
+                                            "i4445"
+                                            "i4443"
+                                            "i4441"
+                                            "i4439"
+                                            "i4437"
+                                            "i4435")))
                                         (hygiene guile))
-                                     (append #{p 4523}# (list #{y 4524}#))))
-                             #{tmp 4520}#)
+                                     (append #{p 4564}# (list #{y 4565}#))))
+                             #{tmp 4561}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{tmp 4519}#)))))))))))
-       (#{quasilist* 4403}#
-         (lambda (#{x 4526}# #{y 4527}#)
+                             #{tmp 4560}#)))))))))))
+       (#{quasilist* 4444}#
+         (lambda (#{x 4567}# #{y 4568}#)
            (letrec*
-             ((#{f 4532}#
-                (lambda (#{x 4533}#)
-                  (if (null? #{x 4533}#)
-                    #{y 4527}#
-                    (#{quasicons 4399}#
-                      (car #{x 4533}#)
-                      (#{f 4532}# (cdr #{x 4533}#)))))))
-             (begin (#{f 4532}# #{x 4526}#)))))
-       (#{quasivector 4405}#
-         (lambda (#{x 4534}#)
-           (let ((#{tmp 4536}# #{x 4534}#))
-             (let ((#{tmp 4537}#
+             ((#{f 4573}#
+                (lambda (#{x 4574}#)
+                  (if (null? #{x 4574}#)
+                    #{y 4568}#
+                    (#{quasicons 4440}#
+                      (car #{x 4574}#)
+                      (#{f 4573}# (cdr #{x 4574}#)))))))
+             (begin (#{f 4573}# #{x 4567}#)))))
+       (#{quasivector 4446}#
+         (lambda (#{x 4575}#)
+           (let ((#{tmp 4577}# #{x 4575}#))
+             (let ((#{tmp 4578}#
                      ($sc-dispatch
-                       #{tmp 4536}#
+                       #{tmp 4577}#
                        '(#(atom "quote") each-any))))
-               (if #{tmp 4537}#
+               (if #{tmp 4578}#
                  (@apply
-                   (lambda (#{x 4539}#)
+                   (lambda (#{x 4580}#)
                      (list '#(syntax-object
                               "quote"
                               ((top)
-                               #(ribcage #(x) #((top)) #("i4538"))
+                               #(ribcage #(x) #((top)) #("i4579"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4535"))
+                               #(ribcage #(x) #((top)) #("i4576"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -16693,53 +16812,53 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i4406"
-                                  "i4404"
-                                  "i4402"
-                                  "i4400"
-                                  "i4398"
-                                  "i4396"
-                                  "i4394")))
+                                 ("i4447"
+                                  "i4445"
+                                  "i4443"
+                                  "i4441"
+                                  "i4439"
+                                  "i4437"
+                                  "i4435")))
                               (hygiene guile))
-                           (list->vector #{x 4539}#)))
-                   #{tmp 4537}#)
-                 (let ((#{_ 4542}# #{tmp 4536}#))
+                           (list->vector #{x 4580}#)))
+                   #{tmp 4578}#)
+                 (let ((#{_ 4583}# #{tmp 4577}#))
                    (letrec*
-                     ((#{f 4546}#
-                        (lambda (#{y 4547}# #{k 4548}#)
-                          (let ((#{tmp 4559}# #{y 4547}#))
-                            (let ((#{tmp 4560}#
+                     ((#{f 4587}#
+                        (lambda (#{y 4588}# #{k 4589}#)
+                          (let ((#{tmp 4600}# #{y 4588}#))
+                            (let ((#{tmp 4601}#
                                     ($sc-dispatch
-                                      #{tmp 4559}#
+                                      #{tmp 4600}#
                                       '(#(atom "quote") each-any))))
-                              (if #{tmp 4560}#
+                              (if #{tmp 4601}#
                                 (@apply
-                                  (lambda (#{y 4562}#)
-                                    (#{k 4548}#
-                                      (map (lambda (#{tmp 4563}#)
+                                  (lambda (#{y 4603}#)
+                                    (#{k 4589}#
+                                      (map (lambda (#{tmp 4604}#)
                                              (list '#(syntax-object
                                                       "quote"
                                                       ((top)
                                                        #(ribcage
                                                          #(y)
                                                          #((top))
-                                                         #("i4561"))
+                                                         #("i4602"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(f y k)
                                                          #((top) (top) (top))
-                                                         #("i4543"
-                                                           "i4544"
-                                                           "i4545"))
+                                                         #("i4584"
+                                                           "i4585"
+                                                           "i4586"))
                                                        #(ribcage
                                                          #(_)
                                                          #((top))
-                                                         #("i4541"))
+                                                         #("i4582"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4535"))
+                                                         #("i4576"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -16754,75 +16873,75 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i4406"
-                                                          "i4404"
-                                                          "i4402"
-                                                          "i4400"
-                                                          "i4398"
-                                                          "i4396"
-                                                          "i4394")))
+                                                         ("i4447"
+                                                          "i4445"
+                                                          "i4443"
+                                                          "i4441"
+                                                          "i4439"
+                                                          "i4437"
+                                                          "i4435")))
                                                       (hygiene guile))
-                                                   #{tmp 4563}#))
-                                           #{y 4562}#)))
-                                  #{tmp 4560}#)
-                                (let ((#{tmp 4564}#
+                                                   #{tmp 4604}#))
+                                           #{y 4603}#)))
+                                  #{tmp 4601}#)
+                                (let ((#{tmp 4605}#
                                         ($sc-dispatch
-                                          #{tmp 4559}#
+                                          #{tmp 4600}#
                                           '(#(atom "list") . each-any))))
-                                  (if #{tmp 4564}#
+                                  (if #{tmp 4605}#
                                     (@apply
-                                      (lambda (#{y 4566}#)
-                                        (#{k 4548}# #{y 4566}#))
-                                      #{tmp 4564}#)
-                                    (let ((#{tmp 4568}#
+                                      (lambda (#{y 4607}#)
+                                        (#{k 4589}# #{y 4607}#))
+                                      #{tmp 4605}#)
+                                    (let ((#{tmp 4609}#
                                             ($sc-dispatch
-                                              #{tmp 4559}#
+                                              #{tmp 4600}#
                                               '(#(atom "list*")
                                                 .
                                                 #(each+ any (any) ())))))
-                                      (if #{tmp 4568}#
+                                      (if #{tmp 4609}#
                                         (@apply
-                                          (lambda (#{y 4571}# #{z 4572}#)
-                                            (#{f 4546}#
-                                              #{z 4572}#
-                                              (lambda (#{ls 4573}#)
-                                                (#{k 4548}#
+                                          (lambda (#{y 4612}# #{z 4613}#)
+                                            (#{f 4587}#
+                                              #{z 4613}#
+                                              (lambda (#{ls 4614}#)
+                                                (#{k 4589}#
                                                   (append
-                                                    #{y 4571}#
-                                                    #{ls 4573}#)))))
-                                          #{tmp 4568}#)
-                                        (let ((#{else 4577}# #{tmp 4559}#))
-                                          (let ((#{tmp 4581}# #{x 4534}#))
-                                            (let ((#{ g4578 4583}#
-                                                    #{tmp 4581}#))
+                                                    #{y 4612}#
+                                                    #{ls 4614}#)))))
+                                          #{tmp 4609}#)
+                                        (let ((#{else 4618}# #{tmp 4600}#))
+                                          (let ((#{tmp 4622}# #{x 4575}#))
+                                            (let ((#{ g4619 4624}#
+                                                    #{tmp 4622}#))
                                               (list '#(syntax-object
                                                        "list->vector"
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g4578}#)
-                                                          #((m4579 top))
-                                                          #("i4582"))
+                                                          #(#{ g4619}#)
+                                                          #((m4620 top))
+                                                          #("i4623"))
                                                         #(ribcage
                                                           #(else)
                                                           #((top))
-                                                          #("i4576"))
+                                                          #("i4617"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f y k)
                                                           #((top) (top) (top))
-                                                          #("i4543"
-                                                            "i4544"
-                                                            "i4545"))
+                                                          #("i4584"
+                                                            "i4585"
+                                                            "i4586"))
                                                         #(ribcage
                                                           #(_)
                                                           #((top))
-                                                          #("i4541"))
+                                                          #("i4582"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i4535"))
+                                                          #("i4576"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -16837,49 +16956,49 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i4406"
-                                                           "i4404"
-                                                           "i4402"
-                                                           "i4400"
-                                                           "i4398"
-                                                           "i4396"
-                                                           "i4394")))
+                                                          ("i4447"
+                                                           "i4445"
+                                                           "i4443"
+                                                           "i4441"
+                                                           "i4439"
+                                                           "i4437"
+                                                           "i4435")))
                                                        (hygiene guile))
-                                                    #{ g4578 
4583}#))))))))))))))
+                                                    #{ g4619 
4624}#))))))))))))))
                      (begin
-                       (#{f 4546}#
-                         #{x 4534}#
-                         (lambda (#{ls 4549}#)
-                           (let ((#{tmp 4554}# #{ls 4549}#))
-                             (let ((#{tmp 4555}#
-                                     ($sc-dispatch #{tmp 4554}# 'each-any)))
-                               (if #{tmp 4555}#
+                       (#{f 4587}#
+                         #{x 4575}#
+                         (lambda (#{ls 4590}#)
+                           (let ((#{tmp 4595}# #{ls 4590}#))
+                             (let ((#{tmp 4596}#
+                                     ($sc-dispatch #{tmp 4595}# 'each-any)))
+                               (if #{tmp 4596}#
                                  (@apply
-                                   (lambda (#{ g4551 4557}#)
+                                   (lambda (#{ g4592 4598}#)
                                      (cons '#(syntax-object
                                               "vector"
                                               ((top)
                                                #(ribcage () () ())
                                                #(ribcage
-                                                 #(#{ g4551}#)
-                                                 #((m4552 top))
-                                                 #("i4556"))
+                                                 #(#{ g4592}#)
+                                                 #((m4593 top))
+                                                 #("i4597"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(ls)
                                                  #((top))
-                                                 #("i4550"))
+                                                 #("i4591"))
                                                #(ribcage
                                                  #(_)
                                                  #((top))
-                                                 #("i4541"))
+                                                 #("i4582"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i4535"))
+                                                 #("i4576"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -16894,36 +17013,36 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i4406"
-                                                  "i4404"
-                                                  "i4402"
-                                                  "i4400"
-                                                  "i4398"
-                                                  "i4396"
-                                                  "i4394")))
+                                                 ("i4447"
+                                                  "i4445"
+                                                  "i4443"
+                                                  "i4441"
+                                                  "i4439"
+                                                  "i4437"
+                                                  "i4435")))
                                               (hygiene guile))
-                                           #{ g4551 4557}#))
-                                   #{tmp 4555}#)
+                                           #{ g4592 4598}#))
+                                   #{tmp 4596}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any 
pattern"
-                                   #{tmp 4554}#))))))))))))))
-       (#{emit 4407}#
-         (lambda (#{x 4584}#)
-           (let ((#{tmp 4586}# #{x 4584}#))
-             (let ((#{tmp 4587}#
+                                   #{tmp 4595}#))))))))))))))
+       (#{emit 4448}#
+         (lambda (#{x 4625}#)
+           (let ((#{tmp 4627}# #{x 4625}#))
+             (let ((#{tmp 4628}#
                      ($sc-dispatch
-                       #{tmp 4586}#
+                       #{tmp 4627}#
                        '(#(atom "quote") any))))
-               (if #{tmp 4587}#
+               (if #{tmp 4628}#
                  (@apply
-                   (lambda (#{x 4589}#)
+                   (lambda (#{x 4630}#)
                      (list '#(syntax-object
                               quote
                               ((top)
-                               #(ribcage #(x) #((top)) #("i4588"))
+                               #(ribcage #(x) #((top)) #("i4629"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4585"))
+                               #(ribcage #(x) #((top)) #("i4626"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -16932,46 +17051,46 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i4406"
-                                  "i4404"
-                                  "i4402"
-                                  "i4400"
-                                  "i4398"
-                                  "i4396"
-                                  "i4394")))
+                                 ("i4447"
+                                  "i4445"
+                                  "i4443"
+                                  "i4441"
+                                  "i4439"
+                                  "i4437"
+                                  "i4435")))
                               (hygiene guile))
-                           #{x 4589}#))
-                   #{tmp 4587}#)
-                 (let ((#{tmp 4590}#
+                           #{x 4630}#))
+                   #{tmp 4628}#)
+                 (let ((#{tmp 4631}#
                          ($sc-dispatch
-                           #{tmp 4586}#
+                           #{tmp 4627}#
                            '(#(atom "list") . each-any))))
-                   (if #{tmp 4590}#
+                   (if #{tmp 4631}#
                      (@apply
-                       (lambda (#{x 4592}#)
-                         (let ((#{tmp 4596}# (map #{emit 4407}# #{x 4592}#)))
-                           (let ((#{tmp 4597}#
-                                   ($sc-dispatch #{tmp 4596}# 'each-any)))
-                             (if #{tmp 4597}#
+                       (lambda (#{x 4633}#)
+                         (let ((#{tmp 4637}# (map #{emit 4448}# #{x 4633}#)))
+                           (let ((#{tmp 4638}#
+                                   ($sc-dispatch #{tmp 4637}# 'each-any)))
+                             (if #{tmp 4638}#
                                (@apply
-                                 (lambda (#{ g4593 4599}#)
+                                 (lambda (#{ g4634 4640}#)
                                    (cons '#(syntax-object
                                             list
                                             ((top)
                                              #(ribcage () () ())
                                              #(ribcage
-                                               #(#{ g4593}#)
-                                               #((m4594 top))
-                                               #("i4598"))
+                                               #(#{ g4634}#)
+                                               #((m4635 top))
+                                               #("i4639"))
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4591"))
+                                               #("i4632"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4585"))
+                                               #("i4626"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -16986,70 +17105,70 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i4406"
-                                                "i4404"
-                                                "i4402"
-                                                "i4400"
-                                                "i4398"
-                                                "i4396"
-                                                "i4394")))
+                                               ("i4447"
+                                                "i4445"
+                                                "i4443"
+                                                "i4441"
+                                                "i4439"
+                                                "i4437"
+                                                "i4435")))
                                             (hygiene guile))
-                                         #{ g4593 4599}#))
-                                 #{tmp 4597}#)
+                                         #{ g4634 4640}#))
+                                 #{tmp 4638}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp 4596}#)))))
-                       #{tmp 4590}#)
-                     (let ((#{tmp 4602}#
+                                 #{tmp 4637}#)))))
+                       #{tmp 4631}#)
+                     (let ((#{tmp 4643}#
                              ($sc-dispatch
-                               #{tmp 4586}#
+                               #{tmp 4627}#
                                '(#(atom "list*") . #(each+ any (any) ())))))
-                       (if #{tmp 4602}#
+                       (if #{tmp 4643}#
                          (@apply
-                           (lambda (#{x 4605}# #{y 4606}#)
+                           (lambda (#{x 4646}# #{y 4647}#)
                              (letrec*
-                               ((#{f 4609}#
-                                  (lambda (#{x* 4610}#)
-                                    (if (null? #{x* 4610}#)
-                                      (#{emit 4407}# #{y 4606}#)
-                                      (let ((#{tmp 4616}#
-                                              (list (#{emit 4407}#
-                                                      (car #{x* 4610}#))
-                                                    (#{f 4609}#
-                                                      (cdr #{x* 4610}#)))))
-                                        (let ((#{tmp 4617}#
+                               ((#{f 4650}#
+                                  (lambda (#{x* 4651}#)
+                                    (if (null? #{x* 4651}#)
+                                      (#{emit 4448}# #{y 4647}#)
+                                      (let ((#{tmp 4657}#
+                                              (list (#{emit 4448}#
+                                                      (car #{x* 4651}#))
+                                                    (#{f 4650}#
+                                                      (cdr #{x* 4651}#)))))
+                                        (let ((#{tmp 4658}#
                                                 ($sc-dispatch
-                                                  #{tmp 4616}#
+                                                  #{tmp 4657}#
                                                   '(any any))))
-                                          (if #{tmp 4617}#
+                                          (if #{tmp 4658}#
                                             (@apply
-                                              (lambda (#{ g4613 4620}#
-                                                       #{ g4612 4621}#)
+                                              (lambda (#{ g4654 4661}#
+                                                       #{ g4653 4662}#)
                                                 (list '#(syntax-object
                                                          cons
                                                          ((top)
                                                           #(ribcage () () ())
                                                           #(ribcage
-                                                            #(#{ g4613}#
-                                                              #{ g4612}#)
-                                                            #((m4614 top)
-                                                              (m4614 top))
-                                                            #("i4618" "i4619"))
+                                                            #(#{ g4654}#
+                                                              #{ g4653}#)
+                                                            #((m4655 top)
+                                                              (m4655 top))
+                                                            #("i4659" "i4660"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(f x*)
                                                             #((top) (top))
-                                                            #("i4607" "i4608"))
+                                                            #("i4648" "i4649"))
                                                           #(ribcage
                                                             #(x y)
                                                             #((top) (top))
-                                                            #("i4603" "i4604"))
+                                                            #("i4644" "i4645"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i4585"))
+                                                            #("i4626"))
                                                           #(ribcage
                                                             (emit quasivector
                                                                   quasilist*
@@ -17064,56 +17183,56 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i4406"
-                                                             "i4404"
-                                                             "i4402"
-                                                             "i4400"
-                                                             "i4398"
-                                                             "i4396"
-                                                             "i4394")))
+                                                            ("i4447"
+                                                             "i4445"
+                                                             "i4443"
+                                                             "i4441"
+                                                             "i4439"
+                                                             "i4437"
+                                                             "i4435")))
                                                          (hygiene guile))
-                                                      #{ g4613 4620}#
-                                                      #{ g4612 4621}#))
-                                              #{tmp 4617}#)
+                                                      #{ g4654 4661}#
+                                                      #{ g4653 4662}#))
+                                              #{tmp 4658}#)
                                             (syntax-violation
                                               #f
                                               "source expression failed to 
match any pattern"
-                                              #{tmp 4616}#))))))))
-                               (begin (#{f 4609}# #{x 4605}#))))
-                           #{tmp 4602}#)
-                         (let ((#{tmp 4622}#
+                                              #{tmp 4657}#))))))))
+                               (begin (#{f 4650}# #{x 4646}#))))
+                           #{tmp 4643}#)
+                         (let ((#{tmp 4663}#
                                  ($sc-dispatch
-                                   #{tmp 4586}#
+                                   #{tmp 4627}#
                                    '(#(atom "append") . each-any))))
-                           (if #{tmp 4622}#
+                           (if #{tmp 4663}#
                              (@apply
-                               (lambda (#{x 4624}#)
-                                 (let ((#{tmp 4628}#
-                                         (map #{emit 4407}# #{x 4624}#)))
-                                   (let ((#{tmp 4629}#
+                               (lambda (#{x 4665}#)
+                                 (let ((#{tmp 4669}#
+                                         (map #{emit 4448}# #{x 4665}#)))
+                                   (let ((#{tmp 4670}#
                                            ($sc-dispatch
-                                             #{tmp 4628}#
+                                             #{tmp 4669}#
                                              'each-any)))
-                                     (if #{tmp 4629}#
+                                     (if #{tmp 4670}#
                                        (@apply
-                                         (lambda (#{ g4625 4631}#)
+                                         (lambda (#{ g4666 4672}#)
                                            (cons '#(syntax-object
                                                     append
                                                     ((top)
                                                      #(ribcage () () ())
                                                      #(ribcage
-                                                       #(#{ g4625}#)
-                                                       #((m4626 top))
-                                                       #("i4630"))
+                                                       #(#{ g4666}#)
+                                                       #((m4667 top))
+                                                       #("i4671"))
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4623"))
+                                                       #("i4664"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4585"))
+                                                       #("i4626"))
                                                      #(ribcage
                                                        (emit quasivector
                                                              quasilist*
@@ -17128,54 +17247,54 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i4406"
-                                                        "i4404"
-                                                        "i4402"
-                                                        "i4400"
-                                                        "i4398"
-                                                        "i4396"
-                                                        "i4394")))
+                                                       ("i4447"
+                                                        "i4445"
+                                                        "i4443"
+                                                        "i4441"
+                                                        "i4439"
+                                                        "i4437"
+                                                        "i4435")))
                                                     (hygiene guile))
-                                                 #{ g4625 4631}#))
-                                         #{tmp 4629}#)
+                                                 #{ g4666 4672}#))
+                                         #{tmp 4670}#)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match 
any pattern"
-                                         #{tmp 4628}#)))))
-                               #{tmp 4622}#)
-                             (let ((#{tmp 4634}#
+                                         #{tmp 4669}#)))))
+                               #{tmp 4663}#)
+                             (let ((#{tmp 4675}#
                                      ($sc-dispatch
-                                       #{tmp 4586}#
+                                       #{tmp 4627}#
                                        '(#(atom "vector") . each-any))))
-                               (if #{tmp 4634}#
+                               (if #{tmp 4675}#
                                  (@apply
-                                   (lambda (#{x 4636}#)
-                                     (let ((#{tmp 4640}#
-                                             (map #{emit 4407}# #{x 4636}#)))
-                                       (let ((#{tmp 4641}#
+                                   (lambda (#{x 4677}#)
+                                     (let ((#{tmp 4681}#
+                                             (map #{emit 4448}# #{x 4677}#)))
+                                       (let ((#{tmp 4682}#
                                                ($sc-dispatch
-                                                 #{tmp 4640}#
+                                                 #{tmp 4681}#
                                                  'each-any)))
-                                         (if #{tmp 4641}#
+                                         (if #{tmp 4682}#
                                            (@apply
-                                             (lambda (#{ g4637 4643}#)
+                                             (lambda (#{ g4678 4684}#)
                                                (cons '#(syntax-object
                                                         vector
                                                         ((top)
                                                          #(ribcage () () ())
                                                          #(ribcage
-                                                           #(#{ g4637}#)
-                                                           #((m4638 top))
-                                                           #("i4642"))
+                                                           #(#{ g4678}#)
+                                                           #((m4679 top))
+                                                           #("i4683"))
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4635"))
+                                                           #("i4676"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4585"))
+                                                           #("i4626"))
                                                          #(ribcage
                                                            (emit quasivector
                                                                  quasilist*
@@ -17190,49 +17309,49 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                           ("i4406"
-                                                            "i4404"
-                                                            "i4402"
-                                                            "i4400"
-                                                            "i4398"
-                                                            "i4396"
-                                                            "i4394")))
+                                                           ("i4447"
+                                                            "i4445"
+                                                            "i4443"
+                                                            "i4441"
+                                                            "i4439"
+                                                            "i4437"
+                                                            "i4435")))
                                                         (hygiene guile))
-                                                     #{ g4637 4643}#))
-                                             #{tmp 4641}#)
+                                                     #{ g4678 4684}#))
+                                             #{tmp 4682}#)
                                            (syntax-violation
                                              #f
                                              "source expression failed to 
match any pattern"
-                                             #{tmp 4640}#)))))
-                                   #{tmp 4634}#)
-                                 (let ((#{tmp 4646}#
+                                             #{tmp 4681}#)))))
+                                   #{tmp 4675}#)
+                                 (let ((#{tmp 4687}#
                                          ($sc-dispatch
-                                           #{tmp 4586}#
+                                           #{tmp 4627}#
                                            '(#(atom "list->vector") any))))
-                                   (if #{tmp 4646}#
+                                   (if #{tmp 4687}#
                                      (@apply
-                                       (lambda (#{x 4648}#)
-                                         (let ((#{tmp 4652}#
-                                                 (#{emit 4407}# #{x 4648}#)))
-                                           (let ((#{ g4649 4654}#
-                                                   #{tmp 4652}#))
+                                       (lambda (#{x 4689}#)
+                                         (let ((#{tmp 4693}#
+                                                 (#{emit 4448}# #{x 4689}#)))
+                                           (let ((#{ g4690 4695}#
+                                                   #{tmp 4693}#))
                                              (list '#(syntax-object
                                                       list->vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g4649}#)
-                                                         #((m4650 top))
-                                                         #("i4653"))
+                                                         #(#{ g4690}#)
+                                                         #((m4691 top))
+                                                         #("i4694"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4647"))
+                                                         #("i4688"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4585"))
+                                                         #("i4626"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -17247,83 +17366,83 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i4406"
-                                                          "i4404"
-                                                          "i4402"
-                                                          "i4400"
-                                                          "i4398"
-                                                          "i4396"
-                                                          "i4394")))
+                                                         ("i4447"
+                                                          "i4445"
+                                                          "i4443"
+                                                          "i4441"
+                                                          "i4439"
+                                                          "i4437"
+                                                          "i4435")))
                                                       (hygiene guile))
-                                                   #{ g4649 4654}#))))
-                                       #{tmp 4646}#)
-                                     (let ((#{tmp 4655}#
+                                                   #{ g4690 4695}#))))
+                                       #{tmp 4687}#)
+                                     (let ((#{tmp 4696}#
                                              ($sc-dispatch
-                                               #{tmp 4586}#
+                                               #{tmp 4627}#
                                                '(#(atom "value") any))))
-                                       (if #{tmp 4655}#
+                                       (if #{tmp 4696}#
                                          (@apply
-                                           (lambda (#{x 4657}#) #{x 4657}#)
-                                           #{tmp 4655}#)
+                                           (lambda (#{x 4698}#) #{x 4698}#)
+                                           #{tmp 4696}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp 4586}#)))))))))))))))))))
+                                           #{tmp 4627}#)))))))))))))))))))
       (begin
-        (lambda (#{x 4658}#)
-          (let ((#{tmp 4660}# #{x 4658}#))
-            (let ((#{tmp 4661}#
-                    ($sc-dispatch #{tmp 4660}# '(_ any))))
-              (if #{tmp 4661}#
+        (lambda (#{x 4699}#)
+          (let ((#{tmp 4701}# #{x 4699}#))
+            (let ((#{tmp 4702}#
+                    ($sc-dispatch #{tmp 4701}# '(_ any))))
+              (if #{tmp 4702}#
                 (@apply
-                  (lambda (#{e 4663}#)
-                    (#{emit 4407}# (#{quasi 4395}# #{e 4663}# 0)))
-                  #{tmp 4661}#)
+                  (lambda (#{e 4704}#)
+                    (#{emit 4448}# (#{quasi 4436}# #{e 4704}# 0)))
+                  #{tmp 4702}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4660}#)))))))))
+                  #{tmp 4701}#)))))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 4664}#)
+    (lambda (#{x 4705}#)
       (letrec*
-        ((#{read-file 4667}#
-           (lambda (#{fn 4668}# #{k 4669}#)
+        ((#{read-file 4708}#
+           (lambda (#{fn 4709}# #{k 4710}#)
              (begin
-               (let ((#{p 4673}# (open-input-file #{fn 4668}#)))
+               (let ((#{p 4714}# (open-input-file #{fn 4709}#)))
                  (letrec*
-                   ((#{f 4677}#
-                      (lambda (#{x 4678}# #{result 4679}#)
-                        (if (eof-object? #{x 4678}#)
+                   ((#{f 4718}#
+                      (lambda (#{x 4719}# #{result 4720}#)
+                        (if (eof-object? #{x 4719}#)
                           (begin
-                            (close-input-port #{p 4673}#)
-                            (reverse #{result 4679}#))
-                          (#{f 4677}#
-                            (read #{p 4673}#)
-                            (cons (datum->syntax #{k 4669}# #{x 4678}#)
-                                  #{result 4679}#))))))
-                   (begin (#{f 4677}# (read #{p 4673}#) '()))))))))
+                            (close-input-port #{p 4714}#)
+                            (reverse #{result 4720}#))
+                          (#{f 4718}#
+                            (read #{p 4714}#)
+                            (cons (datum->syntax #{k 4710}# #{x 4719}#)
+                                  #{result 4720}#))))))
+                   (begin (#{f 4718}# (read #{p 4714}#) '()))))))))
         (begin
-          (let ((#{tmp 4680}# #{x 4664}#))
-            (let ((#{tmp 4681}#
-                    ($sc-dispatch #{tmp 4680}# '(any any))))
-              (if #{tmp 4681}#
+          (let ((#{tmp 4721}# #{x 4705}#))
+            (let ((#{tmp 4722}#
+                    ($sc-dispatch #{tmp 4721}# '(any any))))
+              (if #{tmp 4722}#
                 (@apply
-                  (lambda (#{k 4684}# #{filename 4685}#)
+                  (lambda (#{k 4725}# #{filename 4726}#)
                     (begin
-                      (let ((#{fn 4687}# (syntax->datum #{filename 4685}#)))
-                        (let ((#{tmp 4689}#
-                                (#{read-file 4667}#
-                                  #{fn 4687}#
-                                  #{filename 4685}#)))
-                          (let ((#{tmp 4690}#
-                                  ($sc-dispatch #{tmp 4689}# 'each-any)))
-                            (if #{tmp 4690}#
+                      (let ((#{fn 4728}# (syntax->datum #{filename 4726}#)))
+                        (let ((#{tmp 4730}#
+                                (#{read-file 4708}#
+                                  #{fn 4728}#
+                                  #{filename 4726}#)))
+                          (let ((#{tmp 4731}#
+                                  ($sc-dispatch #{tmp 4730}# 'each-any)))
+                            (if #{tmp 4731}#
                               (@apply
-                                (lambda (#{exp 4692}#)
+                                (lambda (#{exp 4733}#)
                                   (cons '#(syntax-object
                                            begin
                                            ((top)
@@ -17331,129 +17450,129 @@
                                             #(ribcage
                                               #(exp)
                                               #((top))
-                                              #("i4691"))
+                                              #("i4732"))
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(fn)
                                               #((top))
-                                              #("i4686"))
+                                              #("i4727"))
                                             #(ribcage
                                               #(k filename)
                                               #((top) (top))
-                                              #("i4682" "i4683"))
+                                              #("i4723" "i4724"))
                                             #(ribcage
                                               (read-file)
                                               ((top))
-                                              ("i4666"))
+                                              ("i4707"))
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4665")))
+                                              #("i4706")))
                                            (hygiene guile))
-                                        #{exp 4692}#))
-                                #{tmp 4690}#)
+                                        #{exp 4733}#))
+                                #{tmp 4731}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp 4689}#)))))))
-                  #{tmp 4681}#)
+                                #{tmp 4730}#)))))))
+                  #{tmp 4722}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4680}#)))))))))
+                  #{tmp 4721}#)))))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 4694}#)
-      (let ((#{tmp 4696}# #{x 4694}#))
-        (let ((#{tmp 4697}#
-                ($sc-dispatch #{tmp 4696}# '(any any))))
-          (if #{tmp 4697}#
+    (lambda (#{x 4735}#)
+      (let ((#{tmp 4737}# #{x 4735}#))
+        (let ((#{tmp 4738}#
+                ($sc-dispatch #{tmp 4737}# '(any any))))
+          (if #{tmp 4738}#
             (@apply
-              (lambda (#{k 4700}# #{filename 4701}#)
+              (lambda (#{k 4741}# #{filename 4742}#)
                 (begin
-                  (let ((#{fn 4703}# (syntax->datum #{filename 4701}#)))
-                    (let ((#{tmp 4705}#
+                  (let ((#{fn 4744}# (syntax->datum #{filename 4742}#)))
+                    (let ((#{tmp 4746}#
                             (datum->syntax
-                              #{filename 4701}#
+                              #{filename 4742}#
                               (begin
-                                (let ((#{t 4710}#
-                                        (%search-load-path #{fn 4703}#)))
-                                  (if #{t 4710}#
-                                    #{t 4710}#
+                                (let ((#{t 4751}#
+                                        (%search-load-path #{fn 4744}#)))
+                                  (if #{t 4751}#
+                                    #{t 4751}#
                                     (syntax-violation
                                       'include-from-path
                                       "file not found in path"
-                                      #{x 4694}#
-                                      #{filename 4701}#)))))))
-                      (let ((#{fn 4707}# #{tmp 4705}#))
+                                      #{x 4735}#
+                                      #{filename 4742}#)))))))
+                      (let ((#{fn 4748}# #{tmp 4746}#))
                         (list '#(syntax-object
                                  include
                                  ((top)
                                   #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4706"))
+                                  #(ribcage #(fn) #((top)) #("i4747"))
                                   #(ribcage () () ())
                                   #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4702"))
+                                  #(ribcage #(fn) #((top)) #("i4743"))
                                   #(ribcage
                                     #(k filename)
                                     #((top) (top))
-                                    #("i4698" "i4699"))
+                                    #("i4739" "i4740"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4695")))
+                                  #(ribcage #(x) #((top)) #("i4736")))
                                  (hygiene guile))
-                              #{fn 4707}#))))))
-              #{tmp 4697}#)
+                              #{fn 4748}#))))))
+              #{tmp 4738}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4696}#)))))))
+              #{tmp 4737}#)))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 4712}#)
+    (lambda (#{x 4753}#)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 4712}#))))
+        #{x 4753}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 4714}#)
+    (lambda (#{x 4755}#)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 4714}#))))
+        #{x 4755}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 4716}#)
-      (let ((#{tmp 4718}# #{x 4716}#))
-        (let ((#{tmp 4719}#
+    (lambda (#{x 4757}#)
+      (let ((#{tmp 4759}# #{x 4757}#))
+        (let ((#{tmp 4760}#
                 ($sc-dispatch
-                  #{tmp 4718}#
+                  #{tmp 4759}#
                   '(_ any any . each-any))))
-          (if #{tmp 4719}#
+          (if #{tmp 4760}#
             (@apply
-              (lambda (#{e 4723}# #{m1 4724}# #{m2 4725}#)
-                (let ((#{tmp 4727}#
+              (lambda (#{e 4764}# #{m1 4765}# #{m2 4766}#)
+                (let ((#{tmp 4768}#
                         (letrec*
-                          ((#{f 4733}#
-                             (lambda (#{clause 4734}# #{clauses 4735}#)
-                               (if (null? #{clauses 4735}#)
-                                 (let ((#{tmp 4737}# #{clause 4734}#))
-                                   (let ((#{tmp 4738}#
+                          ((#{f 4774}#
+                             (lambda (#{clause 4775}# #{clauses 4776}#)
+                               (if (null? #{clauses 4776}#)
+                                 (let ((#{tmp 4778}# #{clause 4775}#))
+                                   (let ((#{tmp 4779}#
                                            ($sc-dispatch
-                                             #{tmp 4737}#
+                                             #{tmp 4778}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
@@ -17462,92 +17581,92 @@
                                                     #(ribcage
                                                       #(f clause clauses)
                                                       #((top) (top) (top))
-                                                      #("i4730"
-                                                        "i4731"
-                                                        "i4732"))
+                                                      #("i4771"
+                                                        "i4772"
+                                                        "i4773"))
                                                     #(ribcage
                                                       #(e m1 m2)
                                                       #((top) (top) (top))
-                                                      #("i4720"
-                                                        "i4721"
-                                                        "i4722"))
+                                                      #("i4761"
+                                                        "i4762"
+                                                        "i4763"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4717")))
+                                                      #("i4758")))
                                                    (hygiene guile)))
                                                any
                                                .
                                                each-any))))
-                                     (if #{tmp 4738}#
+                                     (if #{tmp 4779}#
                                        (@apply
-                                         (lambda (#{e1 4741}# #{e2 4742}#)
+                                         (lambda (#{e1 4782}# #{e2 4783}#)
                                            (cons '#(syntax-object
                                                     begin
                                                     ((top)
                                                      #(ribcage
                                                        #(e1 e2)
                                                        #((top) (top))
-                                                       #("i4739" "i4740"))
+                                                       #("i4780" "i4781"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i4730"
-                                                         "i4731"
-                                                         "i4732"))
+                                                       #("i4771"
+                                                         "i4772"
+                                                         "i4773"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i4720"
-                                                         "i4721"
-                                                         "i4722"))
+                                                       #("i4761"
+                                                         "i4762"
+                                                         "i4763"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4717")))
+                                                       #("i4758")))
                                                     (hygiene guile))
-                                                 (cons #{e1 4741}#
-                                                       #{e2 4742}#)))
-                                         #{tmp 4738}#)
-                                       (let ((#{tmp 4744}#
+                                                 (cons #{e1 4782}#
+                                                       #{e2 4783}#)))
+                                         #{tmp 4779}#)
+                                       (let ((#{tmp 4785}#
                                                ($sc-dispatch
-                                                 #{tmp 4737}#
+                                                 #{tmp 4778}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp 4744}#
+                                         (if #{tmp 4785}#
                                            (@apply
-                                             (lambda (#{k 4748}#
-                                                      #{e1 4749}#
-                                                      #{e2 4750}#)
+                                             (lambda (#{k 4789}#
+                                                      #{e1 4790}#
+                                                      #{e2 4791}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4745"
-                                                             "i4746"
-                                                             "i4747"))
+                                                           #("i4786"
+                                                             "i4787"
+                                                             "i4788"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4730"
-                                                             "i4731"
-                                                             "i4732"))
+                                                           #("i4771"
+                                                             "i4772"
+                                                             "i4773"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4720"
-                                                             "i4721"
-                                                             "i4722"))
+                                                           #("i4761"
+                                                             "i4762"
+                                                             "i4763"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4717")))
+                                                           #("i4758")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -17557,9 +17676,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4745"
-                                                                   "i4746"
-                                                                   "i4747"))
+                                                                 #("i4786"
+                                                                   "i4787"
+                                                                   "i4788"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17571,17 +17690,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4771"
+                                                                   "i4772"
+                                                                   "i4773"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4720"
-                                                                   "i4721"
-                                                                   "i4722"))
+                                                                 #("i4761"
+                                                                   "i4762"
+                                                                   "i4763"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17589,7 +17708,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4717")))
+                                                                 #("i4758")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -17599,9 +17718,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4745"
-                                                                   "i4746"
-                                                                   "i4747"))
+                                                                 #("i4786"
+                                                                   "i4787"
+                                                                   "i4788"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17613,17 +17732,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4771"
+                                                                   "i4772"
+                                                                   "i4773"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4720"
-                                                                   "i4721"
-                                                                   "i4722"))
+                                                                 #("i4761"
+                                                                   "i4762"
+                                                                   "i4763"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17631,7 +17750,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4717")))
+                                                                 #("i4758")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -17643,9 +17762,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4745"
-                                                                         
"i4746"
-                                                                         
"i4747"))
+                                                                       
#("i4786"
+                                                                         
"i4787"
+                                                                         
"i4788"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17657,9 +17776,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4730"
-                                                                         
"i4731"
-                                                                         
"i4732"))
+                                                                       
#("i4771"
+                                                                         
"i4772"
+                                                                         
"i4773"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -17667,9 +17786,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4720"
-                                                                         
"i4721"
-                                                                         
"i4722"))
+                                                                       
#("i4761"
+                                                                         
"i4762"
+                                                                         
"i4763"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17677,10 +17796,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4717")))
+                                                                       
#("i4758")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k 4748}#))
+                                                                 #{k 4789}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -17689,9 +17808,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4745"
-                                                                   "i4746"
-                                                                   "i4747"))
+                                                                 #("i4786"
+                                                                   "i4787"
+                                                                   "i4788"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17703,17 +17822,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4771"
+                                                                   "i4772"
+                                                                   "i4773"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4720"
-                                                                   "i4721"
-                                                                   "i4722"))
+                                                                 #("i4761"
+                                                                   "i4762"
+                                                                   "i4763"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17721,64 +17840,64 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4717")))
+                                                                 #("i4758")))
                                                               (hygiene guile))
-                                                           (cons #{e1 4749}#
-                                                                 #{e2 
4750}#))))
-                                             #{tmp 4744}#)
-                                           (let ((#{_ 4754}# #{tmp 4737}#))
+                                                           (cons #{e1 4790}#
+                                                                 #{e2 
4791}#))))
+                                             #{tmp 4785}#)
+                                           (let ((#{_ 4795}# #{tmp 4778}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x 4716}#
-                                               #{clause 4734}#)))))))
-                                 (let ((#{tmp 4756}#
-                                         (#{f 4733}#
-                                           (car #{clauses 4735}#)
-                                           (cdr #{clauses 4735}#))))
-                                   (let ((#{rest 4758}# #{tmp 4756}#))
-                                     (let ((#{tmp 4759}# #{clause 4734}#))
-                                       (let ((#{tmp 4760}#
+                                               #{x 4757}#
+                                               #{clause 4775}#)))))))
+                                 (let ((#{tmp 4797}#
+                                         (#{f 4774}#
+                                           (car #{clauses 4776}#)
+                                           (cdr #{clauses 4776}#))))
+                                   (let ((#{rest 4799}# #{tmp 4797}#))
+                                     (let ((#{tmp 4800}# #{clause 4775}#))
+                                       (let ((#{tmp 4801}#
                                                ($sc-dispatch
-                                                 #{tmp 4759}#
+                                                 #{tmp 4800}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp 4760}#
+                                         (if #{tmp 4801}#
                                            (@apply
-                                             (lambda (#{k 4764}#
-                                                      #{e1 4765}#
-                                                      #{e2 4766}#)
+                                             (lambda (#{k 4805}#
+                                                      #{e1 4806}#
+                                                      #{e2 4807}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4761"
-                                                             "i4762"
-                                                             "i4763"))
+                                                           #("i4802"
+                                                             "i4803"
+                                                             "i4804"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i4757"))
+                                                           #("i4798"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4730"
-                                                             "i4731"
-                                                             "i4732"))
+                                                           #("i4771"
+                                                             "i4772"
+                                                             "i4773"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4720"
-                                                             "i4721"
-                                                             "i4722"))
+                                                           #("i4761"
+                                                             "i4762"
+                                                             "i4763"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4717")))
+                                                           #("i4758")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -17788,9 +17907,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4761"
-                                                                   "i4762"
-                                                                   "i4763"))
+                                                                 #("i4802"
+                                                                   "i4803"
+                                                                   "i4804"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17798,7 +17917,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4757"))
+                                                                 #("i4798"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17810,17 +17929,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4771"
+                                                                   "i4772"
+                                                                   "i4773"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4720"
-                                                                   "i4721"
-                                                                   "i4722"))
+                                                                 #("i4761"
+                                                                   "i4762"
+                                                                   "i4763"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17828,7 +17947,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4717")))
+                                                                 #("i4758")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -17838,9 +17957,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4761"
-                                                                   "i4762"
-                                                                   "i4763"))
+                                                                 #("i4802"
+                                                                   "i4803"
+                                                                   "i4804"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17848,7 +17967,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4757"))
+                                                                 #("i4798"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17860,17 +17979,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4771"
+                                                                   "i4772"
+                                                                   "i4773"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4720"
-                                                                   "i4721"
-                                                                   "i4722"))
+                                                                 #("i4761"
+                                                                   "i4762"
+                                                                   "i4763"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17878,7 +17997,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4717")))
+                                                                 #("i4758")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -17890,9 +18009,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4761"
-                                                                         
"i4762"
-                                                                         
"i4763"))
+                                                                       
#("i4802"
+                                                                         
"i4803"
+                                                                         
"i4804"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17900,7 +18019,7 @@
                                                                      #(ribcage
                                                                        #(rest)
                                                                        #((top))
-                                                                       
#("i4757"))
+                                                                       
#("i4798"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17912,9 +18031,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4730"
-                                                                         
"i4731"
-                                                                         
"i4732"))
+                                                                       
#("i4771"
+                                                                         
"i4772"
+                                                                         
"i4773"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -17922,9 +18041,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4720"
-                                                                         
"i4721"
-                                                                         
"i4722"))
+                                                                       
#("i4761"
+                                                                         
"i4762"
+                                                                         
"i4763"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17932,10 +18051,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4717")))
+                                                                       
#("i4758")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k 4764}#))
+                                                                 #{k 4805}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -17944,9 +18063,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4761"
-                                                                   "i4762"
-                                                                   "i4763"))
+                                                                 #("i4802"
+                                                                   "i4803"
+                                                                   "i4804"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17954,7 +18073,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4757"))
+                                                                 #("i4798"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17966,17 +18085,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4730"
-                                                                   "i4731"
-                                                                   "i4732"))
+                                                                 #("i4771"
+                                                                   "i4772"
+                                                                   "i4773"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4720"
-                                                                   "i4721"
-                                                                   "i4722"))
+                                                                 #("i4761"
+                                                                   "i4762"
+                                                                   "i4763"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17984,31 +18103,31 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4717")))
+                                                                 #("i4758")))
                                                               (hygiene guile))
-                                                           (cons #{e1 4765}#
-                                                                 #{e2 4766}#))
-                                                     #{rest 4758}#))
-                                             #{tmp 4760}#)
-                                           (let ((#{_ 4770}# #{tmp 4759}#))
+                                                           (cons #{e1 4806}#
+                                                                 #{e2 4807}#))
+                                                     #{rest 4799}#))
+                                             #{tmp 4801}#)
+                                           (let ((#{_ 4811}# #{tmp 4800}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x 4716}#
-                                               #{clause 4734}#)))))))))))
-                          (begin (#{f 4733}# #{m1 4724}# #{m2 4725}#)))))
-                  (let ((#{body 4729}# #{tmp 4727}#))
+                                               #{x 4757}#
+                                               #{clause 4775}#)))))))))))
+                          (begin (#{f 4774}# #{m1 4765}# #{m2 4766}#)))))
+                  (let ((#{body 4770}# #{tmp 4768}#))
                     (list '#(syntax-object
                              let
                              ((top)
                               #(ribcage () () ())
-                              #(ribcage #(body) #((top)) #("i4728"))
+                              #(ribcage #(body) #((top)) #("i4769"))
                               #(ribcage
                                 #(e m1 m2)
                                 #((top) (top) (top))
-                                #("i4720" "i4721" "i4722"))
+                                #("i4761" "i4762" "i4763"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4717")))
+                              #(ribcage #(x) #((top)) #("i4758")))
                              (hygiene guile))
                           (list (list '#(syntax-object
                                          t
@@ -18017,176 +18136,176 @@
                                           #(ribcage
                                             #(body)
                                             #((top))
-                                            #("i4728"))
+                                            #("i4769"))
                                           #(ribcage
                                             #(e m1 m2)
                                             #((top) (top) (top))
-                                            #("i4720" "i4721" "i4722"))
+                                            #("i4761" "i4762" "i4763"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4717")))
+                                          #(ribcage #(x) #((top)) #("i4758")))
                                          (hygiene guile))
-                                      #{e 4723}#))
-                          #{body 4729}#))))
-              #{tmp 4719}#)
+                                      #{e 4764}#))
+                          #{body 4770}#))))
+              #{tmp 4760}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp 4718}#)))))))
+              #{tmp 4759}#)))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 4771}#)
-    (if (procedure? #{proc 4771}#)
+  (lambda (#{proc 4812}#)
+    (if (procedure? #{proc 4812}#)
       (begin
         (letrec*
-          ((#{trans 4774}#
-             (lambda (#{x 4775}#) (#{proc 4771}# #{x 4775}#))))
+          ((#{trans 4815}#
+             (lambda (#{x 4816}#) (#{proc 4812}# #{x 4816}#))))
           (begin
             (set-procedure-property!
-              #{trans 4774}#
+              #{trans 4815}#
               'variable-transformer
               #t)
-            #{trans 4774}#)))
+            #{trans 4815}#)))
       (error "variable transformer not a procedure"
-             #{proc 4771}#))))
+             #{proc 4812}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 4777}#)
-      (let ((#{tmp 4779}# #{x 4777}#))
-        (let ((#{tmp 4780}#
-                ($sc-dispatch #{tmp 4779}# '(_ any))))
-          (if #{tmp 4780}#
+    (lambda (#{x 4818}#)
+      (let ((#{tmp 4820}# #{x 4818}#))
+        (let ((#{tmp 4821}#
+                ($sc-dispatch #{tmp 4820}# '(_ any))))
+          (if #{tmp 4821}#
             (@apply
-              (lambda (#{e 4782}#)
+              (lambda (#{e 4823}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
-                          #(ribcage #(e) #((top)) #("i4781"))
+                          #(ribcage #(e) #((top)) #("i4822"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4778")))
+                          #(ribcage #(x) #((top)) #("i4819")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
                           ((top)
-                           #(ribcage #(e) #((top)) #("i4781"))
+                           #(ribcage #(e) #((top)) #("i4822"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4778")))
+                           #(ribcage #(x) #((top)) #("i4819")))
                           (hygiene guile)))
                       '#((#(syntax-object
                             macro-type
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4781"))
+                             #(ribcage #(e) #((top)) #("i4822"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4778")))
+                             #(ribcage #(x) #((top)) #("i4819")))
                             (hygiene guile))
                           .
                           #(syntax-object
                             identifier-syntax
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4781"))
+                             #(ribcage #(e) #((top)) #("i4822"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4778")))
+                             #(ribcage #(x) #((top)) #("i4819")))
                             (hygiene guile))))
                       (list '#(syntax-object
                                syntax-case
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4781"))
+                                #(ribcage #(e) #((top)) #("i4822"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4778")))
+                                #(ribcage #(x) #((top)) #("i4819")))
                                (hygiene guile))
                             '#(syntax-object
                                x
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4781"))
+                                #(ribcage #(e) #((top)) #("i4822"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4778")))
+                                #(ribcage #(x) #((top)) #("i4819")))
                                (hygiene guile))
                             '()
                             (list '#(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i4781"))
+                                      #(ribcage #(e) #((top)) #("i4822"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4778")))
+                                      #(ribcage #(x) #((top)) #("i4819")))
                                      (hygiene guile))
                                   '(#(syntax-object
                                       identifier?
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4781"))
+                                       #(ribcage #(e) #((top)) #("i4822"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4778")))
+                                       #(ribcage #(x) #((top)) #("i4819")))
                                       (hygiene guile))
                                     (#(syntax-object
                                        syntax
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4781"))
+                                        #(ribcage #(e) #((top)) #("i4822"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4778")))
+                                        #(ribcage #(x) #((top)) #("i4819")))
                                        (hygiene guile))
                                      #(syntax-object
                                        id
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4781"))
+                                        #(ribcage #(e) #((top)) #("i4822"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4778")))
+                                        #(ribcage #(x) #((top)) #("i4819")))
                                        (hygiene guile))))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4781"))
+                                            #(ribcage #(e) #((top)) #("i4822"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4778")))
+                                              #("i4819")))
                                            (hygiene guile))
-                                        #{e 4782}#))
+                                        #{e 4823}#))
                             (list '(#(syntax-object
                                       _
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4781"))
+                                       #(ribcage #(e) #((top)) #("i4822"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4778")))
+                                       #(ribcage #(x) #((top)) #("i4819")))
                                       (hygiene guile))
                                     #(syntax-object
                                       x
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4781"))
+                                       #(ribcage #(e) #((top)) #("i4822"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4778")))
+                                       #(ribcage #(x) #((top)) #("i4819")))
                                       (hygiene guile))
                                     #(syntax-object
                                       ...
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4781"))
+                                       #(ribcage #(e) #((top)) #("i4822"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4778")))
+                                       #(ribcage #(x) #((top)) #("i4819")))
                                       (hygiene guile)))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4781"))
+                                            #(ribcage #(e) #((top)) #("i4822"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4778")))
+                                              #("i4819")))
                                            (hygiene guile))
-                                        (cons #{e 4782}#
+                                        (cons #{e 4823}#
                                               '(#(syntax-object
                                                   x
                                                   ((top)
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4781"))
+                                                     #("i4822"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4778")))
+                                                     #("i4819")))
                                                   (hygiene guile))
                                                 #(syntax-object
                                                   ...
@@ -18194,55 +18313,55 @@
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4781"))
+                                                     #("i4822"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4778")))
+                                                     #("i4819")))
                                                   (hygiene guile)))))))))
-              #{tmp 4780}#)
-            (let ((#{tmp 4783}#
+              #{tmp 4821}#)
+            (let ((#{tmp 4824}#
                     ($sc-dispatch
-                      #{tmp 4779}#
+                      #{tmp 4820}#
                       '(_ (any any)
                           ((#(free-id
                               #(syntax-object
                                 set!
                                 ((top)
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4778")))
+                                 #(ribcage #(x) #((top)) #("i4819")))
                                 (hygiene guile)))
                             any
                             any)
                            any)))))
-              (if (if #{tmp 4783}#
+              (if (if #{tmp 4824}#
                     (@apply
-                      (lambda (#{id 4789}#
-                               #{exp1 4790}#
-                               #{var 4791}#
-                               #{val 4792}#
-                               #{exp2 4793}#)
-                        (if (identifier? #{id 4789}#)
-                          (identifier? #{var 4791}#)
+                      (lambda (#{id 4830}#
+                               #{exp1 4831}#
+                               #{var 4832}#
+                               #{val 4833}#
+                               #{exp2 4834}#)
+                        (if (identifier? #{id 4830}#)
+                          (identifier? #{var 4832}#)
                           #f))
-                      #{tmp 4783}#)
+                      #{tmp 4824}#)
                     #f)
                 (@apply
-                  (lambda (#{id 4801}#
-                           #{exp1 4802}#
-                           #{var 4803}#
-                           #{val 4804}#
-                           #{exp2 4805}#)
+                  (lambda (#{id 4842}#
+                           #{exp1 4843}#
+                           #{var 4844}#
+                           #{val 4845}#
+                           #{exp2 4846}#)
                     (list '#(syntax-object
                              make-variable-transformer
                              ((top)
                               #(ribcage
                                 #(id exp1 var val exp2)
                                 #((top) (top) (top) (top) (top))
-                                #("i4796" "i4797" "i4798" "i4799" "i4800"))
+                                #("i4837" "i4838" "i4839" "i4840" "i4841"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4778")))
+                              #(ribcage #(x) #((top)) #("i4819")))
                              (hygiene guile))
                           (list '#(syntax-object
                                    lambda
@@ -18250,13 +18369,13 @@
                                     #(ribcage
                                       #(id exp1 var val exp2)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4796"
-                                        "i4797"
-                                        "i4798"
-                                        "i4799"
-                                        "i4800"))
+                                      #("i4837"
+                                        "i4838"
+                                        "i4839"
+                                        "i4840"
+                                        "i4841"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4778")))
+                                    #(ribcage #(x) #((top)) #("i4819")))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     x
@@ -18264,13 +18383,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4796"
-                                         "i4797"
-                                         "i4798"
-                                         "i4799"
-                                         "i4800"))
+                                       #("i4837"
+                                         "i4838"
+                                         "i4839"
+                                         "i4840"
+                                         "i4841"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4778")))
+                                     #(ribcage #(x) #((top)) #("i4819")))
                                     (hygiene guile)))
                                 '#((#(syntax-object
                                       macro-type
@@ -18278,13 +18397,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4796"
-                                           "i4797"
-                                           "i4798"
-                                           "i4799"
-                                           "i4800"))
+                                         #("i4837"
+                                           "i4838"
+                                           "i4839"
+                                           "i4840"
+                                           "i4841"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4778")))
+                                       #(ribcage #(x) #((top)) #("i4819")))
                                       (hygiene guile))
                                     .
                                     #(syntax-object
@@ -18293,13 +18412,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4796"
-                                           "i4797"
-                                           "i4798"
-                                           "i4799"
-                                           "i4800"))
+                                         #("i4837"
+                                           "i4838"
+                                           "i4839"
+                                           "i4840"
+                                           "i4841"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4778")))
+                                       #(ribcage #(x) #((top)) #("i4819")))
                                       (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax-case
@@ -18307,13 +18426,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4796"
-                                              "i4797"
-                                              "i4798"
-                                              "i4799"
-                                              "i4800"))
+                                            #("i4837"
+                                              "i4838"
+                                              "i4839"
+                                              "i4840"
+                                              "i4841"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4778")))
+                                          #(ribcage #(x) #((top)) #("i4819")))
                                          (hygiene guile))
                                       '#(syntax-object
                                          x
@@ -18321,13 +18440,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4796"
-                                              "i4797"
-                                              "i4798"
-                                              "i4799"
-                                              "i4800"))
+                                            #("i4837"
+                                              "i4838"
+                                              "i4839"
+                                              "i4840"
+                                              "i4841"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4778")))
+                                          #(ribcage #(x) #((top)) #("i4819")))
                                          (hygiene guile))
                                       '(#(syntax-object
                                           set!
@@ -18335,13 +18454,13 @@
                                            #(ribcage
                                              #(id exp1 var val exp2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4796"
-                                               "i4797"
-                                               "i4798"
-                                               "i4799"
-                                               "i4800"))
+                                             #("i4837"
+                                               "i4838"
+                                               "i4839"
+                                               "i4840"
+                                               "i4841"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i4778")))
+                                           #(ribcage #(x) #((top)) #("i4819")))
                                           (hygiene guile)))
                                       (list (list '#(syntax-object
                                                      set!
@@ -18353,19 +18472,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4796"
-                                                          "i4797"
-                                                          "i4798"
-                                                          "i4799"
-                                                          "i4800"))
+                                                        #("i4837"
+                                                          "i4838"
+                                                          "i4839"
+                                                          "i4840"
+                                                          "i4841"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4778")))
+                                                        #("i4819")))
                                                      (hygiene guile))
-                                                  #{var 4803}#
-                                                  #{val 4804}#)
+                                                  #{var 4844}#
+                                                  #{val 4845}#)
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -18376,19 +18495,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4796"
-                                                          "i4797"
-                                                          "i4798"
-                                                          "i4799"
-                                                          "i4800"))
+                                                        #("i4837"
+                                                          "i4838"
+                                                          "i4839"
+                                                          "i4840"
+                                                          "i4841"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4778")))
+                                                        #("i4819")))
                                                      (hygiene guile))
-                                                  #{exp2 4805}#))
-                                      (list (cons #{id 4801}#
+                                                  #{exp2 4846}#))
+                                      (list (cons #{id 4842}#
                                                   '(#(syntax-object
                                                       x
                                                       ((top)
@@ -18403,16 +18522,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4796"
-                                                           "i4797"
-                                                           "i4798"
-                                                           "i4799"
-                                                           "i4800"))
+                                                         #("i4837"
+                                                           "i4838"
+                                                           "i4839"
+                                                           "i4840"
+                                                           "i4841"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4778")))
+                                                         #("i4819")))
                                                       (hygiene guile))
                                                     #(syntax-object
                                                       ...
@@ -18428,16 +18547,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4796"
-                                                           "i4797"
-                                                           "i4798"
-                                                           "i4799"
-                                                           "i4800"))
+                                                         #("i4837"
+                                                           "i4838"
+                                                           "i4839"
+                                                           "i4840"
+                                                           "i4841"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4778")))
+                                                         #("i4819")))
                                                       (hygiene guile))))
                                             (list '#(syntax-object
                                                      syntax
@@ -18449,18 +18568,18 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4796"
-                                                          "i4797"
-                                                          "i4798"
-                                                          "i4799"
-                                                          "i4800"))
+                                                        #("i4837"
+                                                          "i4838"
+                                                          "i4839"
+                                                          "i4840"
+                                                          "i4841"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4778")))
+                                                        #("i4819")))
                                                      (hygiene guile))
-                                                  (cons #{exp1 4802}#
+                                                  (cons #{exp1 4843}#
                                                         '(#(syntax-object
                                                             x
                                                             ((top)
@@ -18475,11 +18594,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4796"
-                                                                 "i4797"
-                                                                 "i4798"
-                                                                 "i4799"
-                                                                 "i4800"))
+                                                               #("i4837"
+                                                                 "i4838"
+                                                                 "i4839"
+                                                                 "i4840"
+                                                                 "i4841"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18487,7 +18606,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4778")))
+                                                               #("i4819")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             ...
@@ -18503,11 +18622,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4796"
-                                                                 "i4797"
-                                                                 "i4798"
-                                                                 "i4799"
-                                                                 "i4800"))
+                                                               #("i4837"
+                                                                 "i4838"
+                                                                 "i4839"
+                                                                 "i4840"
+                                                                 "i4841"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18515,10 +18634,10 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4778")))
+                                                               #("i4819")))
                                                             (hygiene
                                                               guile))))))
-                                      (list #{id 4801}#
+                                      (list #{id 4842}#
                                             (list '#(syntax-object
                                                      identifier?
                                                      ((top)
@@ -18529,16 +18648,16 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4796"
-                                                          "i4797"
-                                                          "i4798"
-                                                          "i4799"
-                                                          "i4800"))
+                                                        #("i4837"
+                                                          "i4838"
+                                                          "i4839"
+                                                          "i4840"
+                                                          "i4841"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4778")))
+                                                        #("i4819")))
                                                      (hygiene guile))
                                                   (list '#(syntax-object
                                                            syntax
@@ -18554,18 +18673,18 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                              #("i4796"
-                                                                "i4797"
-                                                                "i4798"
-                                                                "i4799"
-                                                                "i4800"))
+                                                              #("i4837"
+                                                                "i4838"
+                                                                "i4839"
+                                                                "i4840"
+                                                                "i4841"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(x)
                                                               #((top))
-                                                              #("i4778")))
+                                                              #("i4819")))
                                                            (hygiene guile))
-                                                        #{id 4801}#))
+                                                        #{id 4842}#))
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -18576,69 +18695,69 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4796"
-                                                          "i4797"
-                                                          "i4798"
-                                                          "i4799"
-                                                          "i4800"))
+                                                        #("i4837"
+                                                          "i4838"
+                                                          "i4839"
+                                                          "i4840"
+                                                          "i4841"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4778")))
+                                                        #("i4819")))
                                                      (hygiene guile))
-                                                  #{exp1 4802}#))))))
-                  #{tmp 4783}#)
+                                                  #{exp1 4843}#))))))
+                  #{tmp 4824}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4779}#)))))))))
+                  #{tmp 4820}#)))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 4806}#)
-      (let ((#{tmp 4808}# #{x 4806}#))
-        (let ((#{tmp 4809}#
+    (lambda (#{x 4847}#)
+      (let ((#{tmp 4849}# #{x 4847}#))
+        (let ((#{tmp 4850}#
                 ($sc-dispatch
-                  #{tmp 4808}#
+                  #{tmp 4849}#
                   '(_ (any . any) any . each-any))))
-          (if #{tmp 4809}#
+          (if #{tmp 4850}#
             (@apply
-              (lambda (#{id 4814}#
-                       #{args 4815}#
-                       #{b0 4816}#
-                       #{b1 4817}#)
+              (lambda (#{id 4855}#
+                       #{args 4856}#
+                       #{b0 4857}#
+                       #{b1 4858}#)
                 (list '#(syntax-object
                          define
                          ((top)
                           #(ribcage
                             #(id args b0 b1)
                             #((top) (top) (top) (top))
-                            #("i4810" "i4811" "i4812" "i4813"))
+                            #("i4851" "i4852" "i4853" "i4854"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4807")))
+                          #(ribcage #(x) #((top)) #("i4848")))
                          (hygiene guile))
-                      #{id 4814}#
+                      #{id 4855}#
                       (cons '#(syntax-object
                                lambda*
                                ((top)
                                 #(ribcage
                                   #(id args b0 b1)
                                   #((top) (top) (top) (top))
-                                  #("i4810" "i4811" "i4812" "i4813"))
+                                  #("i4851" "i4852" "i4853" "i4854"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4807")))
+                                #(ribcage #(x) #((top)) #("i4848")))
                                (hygiene guile))
-                            (cons #{args 4815}#
-                                  (cons #{b0 4816}# #{b1 4817}#)))))
-              #{tmp 4809}#)
-            (let ((#{tmp 4819}#
-                    ($sc-dispatch #{tmp 4808}# '(_ any any))))
-              (if (if #{tmp 4819}#
+                            (cons #{args 4856}#
+                                  (cons #{b0 4857}# #{b1 4858}#)))))
+              #{tmp 4850}#)
+            (let ((#{tmp 4860}#
+                    ($sc-dispatch #{tmp 4849}# '(_ any any))))
+              (if (if #{tmp 4860}#
                     (@apply
-                      (lambda (#{id 4822}# #{val 4823}#)
+                      (lambda (#{id 4863}# #{val 4864}#)
                         (identifier?
                           '#(syntax-object
                              x
@@ -18646,29 +18765,29 @@
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4820" "i4821"))
+                                #("i4861" "i4862"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4807")))
+                              #(ribcage #(x) #((top)) #("i4848")))
                              (hygiene guile))))
-                      #{tmp 4819}#)
+                      #{tmp 4860}#)
                     #f)
                 (@apply
-                  (lambda (#{id 4826}# #{val 4827}#)
+                  (lambda (#{id 4867}# #{val 4868}#)
                     (list '#(syntax-object
                              define
                              ((top)
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4824" "i4825"))
+                                #("i4865" "i4866"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4807")))
+                              #(ribcage #(x) #((top)) #("i4848")))
                              (hygiene guile))
-                          #{id 4826}#
-                          #{val 4827}#))
-                  #{tmp 4819}#)
+                          #{id 4867}#
+                          #{val 4868}#))
+                  #{tmp 4860}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp 4808}#)))))))))
+                  #{tmp 4849}#)))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 957a526..40b228c 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -272,9 +272,8 @@
         (lambda (x mod)
           (primitive-eval x)))
     
-      (define-syntax gensym-hook
-        (syntax-rules ()
-          ((_) (gensym))))
+      (define-syntax-rule (gensym-hook)
+        (gensym))
 
       (define put-global-definition-hook
         (lambda (symbol type val)
@@ -449,9 +448,8 @@
 
 
     ;; FIXME: use a faster gensym
-    (define-syntax build-lexical-var
-      (syntax-rules ()
-        ((_ src id) (gensym (string-append (symbol->string id) " ")))))
+    (define-syntax-rule (build-lexical-var src id)
+      (gensym (string-append (symbol->string id) " ")))
 
     (define-structure (syntax-object expression wrap module))
 
@@ -468,11 +466,9 @@
                           #f)))
          (else #f))))
 
-    (define-syntax arg-check
-      (syntax-rules ()
-        ((_ pred? e who)
-         (let ((x e))
-           (if (not (pred? x)) (syntax-violation who "invalid argument" x))))))
+    (define-syntax-rule (arg-check pred? e who)
+      (let ((x e))
+        (if (not (pred? x)) (syntax-violation who "invalid argument" x))))
 
     ;; compile-time environments
 
@@ -535,12 +531,10 @@
         ((_ type value) (cons type value))
         ((_ 'type) '(type))
         ((_ type) (cons type '()))))
-    (define-syntax binding-type
-      (syntax-rules ()
-        ((_ x) (car x))))
-    (define-syntax binding-value
-      (syntax-rules ()
-        ((_ x) (cdr x))))
+    (define-syntax-rule (binding-type x)
+      (car x))
+    (define-syntax-rule (binding-value x)
+      (cdr x))
 
     (define-syntax null-env (identifier-syntax '()))
 
@@ -605,13 +599,11 @@
          ((syntax-object? x) (symbol? (syntax-object-expression x)))
          (else #f))))
 
-    (define-syntax id-sym-name
-      (syntax-rules ()
-        ((_ e)
-         (let ((x e))
-           (if (syntax-object? x)
-               (syntax-object-expression x)
-               x)))))
+    (define-syntax-rule (id-sym-name e)
+      (let ((x e))
+        (if (syntax-object? x)
+            (syntax-object-expression x)
+            x)))
 
     (define id-sym-name&marks
       (lambda (x w)
@@ -633,12 +625,11 @@
     (define-syntax wrap-subst (identifier-syntax cdr))
 
     (define-syntax subst-rename? (identifier-syntax vector?))
-    (define-syntax rename-old (syntax-rules () ((_ x) (vector-ref x 0))))
-    (define-syntax rename-new (syntax-rules () ((_ x) (vector-ref x 1))))
-    (define-syntax rename-marks (syntax-rules () ((_ x) (vector-ref x 2))))
-    (define-syntax make-rename
-      (syntax-rules ()
-        ((_ old new marks) (vector old new marks))))
+    (define-syntax-rule (rename-old x) (vector-ref x 0))
+    (define-syntax-rule (rename-new x) (vector-ref x 1))
+    (define-syntax-rule (rename-marks x) (vector-ref x 2))
+    (define-syntax-rule (make-rename old new marks)
+      (vector old new marks))
 
     ;; labels must be comparable with "eq?", have read-write invariance,
     ;; and distinct from symbols.
@@ -657,9 +648,8 @@
 
     (define-syntax top-wrap (identifier-syntax '((top))))
 
-    (define-syntax top-marked?
-      (syntax-rules ()
-        ((_ w) (memq 'top (wrap-marks w)))))
+    (define-syntax-rule (top-marked? w)
+      (memq 'top (wrap-marks w)))
 
     ;; Marks must be comparable with "eq?" and distinct from pairs and
     ;; the symbol top.  We do not use integers so that marks will remain
@@ -672,15 +662,13 @@
         (make-wrap (cons the-anti-mark (wrap-marks w))
                    (cons 'shift (wrap-subst w)))))
 
-    (define-syntax new-mark
-      (syntax-rules ()
-        ((_) (gensym "m"))))
+    (define-syntax-rule (new-mark)
+      (gensym "m"))
 
     ;; make-empty-ribcage and extend-ribcage maintain list-based ribcages for
     ;; internal definitions, in which the ribcages are built incrementally
-    (define-syntax make-empty-ribcage
-      (syntax-rules ()
-        ((_) (make-ribcage '() '() '()))))
+    (define-syntax-rule (make-empty-ribcage)
+      (make-ribcage '() '() '()))
 
     (define extend-ribcage!
       ;; must receive ids with complete wraps
@@ -749,10 +737,9 @@
 
     (define id-var-name
       (lambda (id w)
-        (define-syntax first
-          (syntax-rules ()
-            ;; Rely on Guile's multiple-values truncation.
-            ((_ e) e)))
+        (define-syntax-rule (first e)
+          ;; Rely on Guile's multiple-values truncation.
+          e)
         (define search
           (lambda (sym subst marks)
             (if (null? subst)
@@ -2662,6 +2649,20 @@
              ((dummy . pattern) #'template)
              ...))))))
 
+(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 let*
   (lambda (x)
     (syntax-case x ()
diff --git a/module/ice-9/receive.scm b/module/ice-9/receive.scm
index f4f4d81..c931b59 100644
--- a/module/ice-9/receive.scm
+++ b/module/ice-9/receive.scm
@@ -1,6 +1,6 @@
 ;;;; SRFI-8
 
-;;; Copyright (C) 2000, 2001, 2004, 2006, 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 2000, 2001, 2004, 2006, 2010, 2011 Free Software Foundation, 
Inc.
 ;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -17,14 +17,10 @@
 ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA
 
 (define-module (ice-9 receive)
-  :export (receive)
-  :no-backtrace
-  )
+  #:export (receive))
 
-(define-syntax receive
-  (syntax-rules ()
-    ((receive vars vals . body)
-     (call-with-values (lambda () vals)
-       (lambda vars . body)))))
+(define-syntax-rule (receive vars vals . body)
+  (call-with-values (lambda () vals)
+    (lambda vars . body)))
 
 (cond-expand-provide (current-module) '(srfi-8))
diff --git a/module/ice-9/threads.scm b/module/ice-9/threads.scm
index ee7ff26..047a733 100644
--- a/module/ice-9/threads.scm
+++ b/module/ice-9/threads.scm
@@ -1,4 +1,4 @@
-;;;;   Copyright (C) 1996, 1998, 2001, 2002, 2003, 2006, 2010 Free Software 
Foundation, Inc.
+;;;;   Copyright (C) 1996, 1998, 2001, 2002, 2003, 2006, 2010, 2011 Free 
Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -51,12 +51,10 @@
 
 ;;; Macros first, so that the procedures expand correctly.
 
-(define-syntax begin-thread
-  (syntax-rules ()
-    ((_ e0 e1 ...)
-     (call-with-new-thread
-      (lambda () e0 e1 ...)
-      %thread-handler))))
+(define-syntax-rule (begin-thread e0 e1 ...)
+  (call-with-new-thread
+   (lambda () e0 e1 ...)
+   %thread-handler))
 
 (define-syntax parallel
   (lambda (x)
@@ -67,35 +65,27 @@
                  ...)
              (values (touch tmp0) ...)))))))
 
-(define-syntax letpar
-  (syntax-rules ()
-    ((_ ((v e) ...) b0 b1 ...)
-     (call-with-values
-         (lambda () (parallel e ...))
-       (lambda (v ...)
-         b0 b1 ...)))))
-
-(define-syntax make-thread
-  (syntax-rules ()
-    ((_ proc arg ...)
-     (call-with-new-thread
-      (lambda () (proc arg ...))
-      %thread-handler))))
-
-(define-syntax with-mutex
-  (syntax-rules ()
-    ((_ m e0 e1 ...)
-     (let ((x m))
-       (dynamic-wind
-         (lambda () (lock-mutex x))
-         (lambda () (begin e0 e1 ...))
-         (lambda () (unlock-mutex x)))))))
-
-(define-syntax monitor
-  (syntax-rules ()
-    ((_ first rest ...)
-     (with-mutex (make-mutex)
-       first rest ...))))
+(define-syntax-rule (letpar ((v e) ...) b0 b1 ...)
+  (call-with-values
+      (lambda () (parallel e ...))
+    (lambda (v ...)
+      b0 b1 ...)))
+
+(define-syntax-rule (make-thread proc arg ...)
+  (call-with-new-thread
+   (lambda () (proc arg ...))
+   %thread-handler))
+
+(define-syntax-rule (with-mutex m e0 e1 ...)
+  (let ((x m))
+    (dynamic-wind
+      (lambda () (lock-mutex x))
+      (lambda () (begin e0 e1 ...))
+      (lambda () (unlock-mutex x)))))
+
+(define-syntax-rule (monitor first rest ...)
+  (with-mutex (make-mutex)
+    first rest ...))
 
 (define (par-mapper mapper)
   (lambda (proc . arglists)
diff --git a/module/ice-9/vlist.scm b/module/ice-9/vlist.scm
index d5e28d5..4b40b99 100644
--- a/module/ice-9/vlist.scm
+++ b/module/ice-9/vlist.scm
@@ -70,14 +70,12 @@
     (fluid-set! f 2)
     f))
 
-(define-syntax define-inline
+(define-syntax-rule (define-inline (name formals ...) body ...)
   ;; Work around the lack of an inliner.
-  (syntax-rules ()
-    ((_ (name formals ...) body ...)
-     (define-syntax name
-       (syntax-rules ()
-         ((_ formals ...)
-          (begin body ...)))))))
+  (define-syntax name
+    (syntax-rules ()
+      ((_ formals ...)
+       (begin body ...)))))
 
 (define-inline (make-block base offset size hash-tab?)
   ;; Return a block (and block descriptor) of SIZE elements pointing to BASE
@@ -90,11 +88,9 @@
           base offset size 0
           (and hash-tab? (make-vector size #f))))
 
-(define-syntax define-block-accessor
-  (syntax-rules ()
-    ((_ name index)
-     (define-inline (name block)
-       (vector-ref block index)))))
+(define-syntax-rule (define-block-accessor name index)
+  (define-inline (name block)
+    (vector-ref block index)))
 
 (define-block-accessor block-content 0)
 (define-block-accessor block-base 1)
diff --git a/module/language/assembly/compile-bytecode.scm 
b/module/language/assembly/compile-bytecode.scm
index 163ffcc..85805a5 100644
--- a/module/language/assembly/compile-bytecode.scm
+++ b/module/language/assembly/compile-bytecode.scm
@@ -28,16 +28,14 @@
   #:export (compile-bytecode))
 
 (define (compile-bytecode assembly env . opts)
-  (define-syntax define-inline1
-    (syntax-rules ()
-      ((_ (proc arg) body body* ...)
-       (define-syntax proc
-         (syntax-rules ()
-           ((_ (arg-expr (... ...)))
-            (let ((x (arg-expr (... ...))))
-              (proc x)))
-           ((_ arg)
-            (begin body body* ...)))))))
+  (define-syntax-rule (define-inline1 (proc arg) body body* ...)
+    (define-syntax proc
+      (syntax-rules ()
+        ((_ (arg-expr (... ...)))
+         (let ((x (arg-expr (... ...))))
+           (proc x)))
+        ((_ arg)
+         (begin body body* ...)))))
        
   (define (fill-bytecode bv target-endianness)
     (let ((pos 0))
diff --git a/module/language/ecmascript/compile-tree-il.scm 
b/module/language/ecmascript/compile-tree-il.scm
index c46fd62..a2401f4 100644
--- a/module/language/ecmascript/compile-tree-il.scm
+++ b/module/language/ecmascript/compile-tree-il.scm
@@ -25,20 +25,14 @@
   #:use-module (srfi srfi-1)
   #:export (compile-tree-il))
 
-(define-syntax ->
-  (syntax-rules ()
-    ((_ (type arg ...))
-     `(type ,arg ...))))
+(define-syntax-rule (-> (type arg ...))
+  `(type ,arg ...))
 
-(define-syntax @implv
-  (syntax-rules ()
-    ((_ sym)
-     (-> (@ '(language ecmascript impl) 'sym)))))
+(define-syntax-rule (@implv sym)
+  (-> (@ '(language ecmascript impl) 'sym)))
 
-(define-syntax @impl
-  (syntax-rules ()
-    ((_ sym arg ...)
-     (-> (apply (@implv sym) arg ...)))))
+(define-syntax-rule (@impl sym arg ...)
+  (-> (apply (@implv sym) arg ...)))
 
 (define (empty-lexical-environment)
   '())
@@ -67,16 +61,14 @@
 ;; for emacs:
 ;; (put 'pmatch/source 'scheme-indent-function 1)
 
-(define-syntax pmatch/source
-  (syntax-rules ()
-    ((_ x clause ...)
-     (let ((x x))
-       (let ((res (pmatch x
-                    clause ...)))
-         (let ((loc (location x)))
-           (if loc
-               (set-source-properties! res (location x))))
-         res)))))
+(define-syntax-rule (pmatch/source x clause ...)
+  (let ((x x))
+    (let ((res (pmatch x
+                 clause ...)))
+      (let ((loc (location x)))
+        (if loc
+            (set-source-properties! res (location x))))
+      res)))
 
 (define (comp x e)
   (let ((l (location x)))
diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm
index decd363..580ebda 100644
--- a/module/language/tree-il.scm
+++ b/module/language/tree-il.scm
@@ -554,81 +554,79 @@ This is an implementation of `foldts' as described by 
Andy Wingo in
            (leaf tree result))))))
 
 
-(define-syntax make-tree-il-folder
-  (syntax-rules ()
-    ((_ seed ...)
-     (lambda (tree down up seed ...)
-       (define (fold-values proc exps seed ...)
-         (if (null? exps)
-             (values seed ...)
-             (let-values (((seed ...) (proc (car exps) seed ...)))
-               (fold-values proc (cdr exps) seed ...))))
-       (let foldts ((tree tree) (seed seed) ...)
-         (let*-values
-             (((seed ...) (down tree seed ...))
-              ((seed ...)
-               (record-case tree
-                 ((<lexical-set> exp)
-                  (foldts exp seed ...))
-                 ((<module-set> exp)
-                  (foldts exp seed ...))
-                 ((<toplevel-set> exp)
-                  (foldts exp seed ...))
-                 ((<toplevel-define> exp)
-                  (foldts exp seed ...))
-                 ((<conditional> test consequent alternate)
-                  (let*-values (((seed ...) (foldts test seed ...))
-                                ((seed ...) (foldts consequent seed ...)))
-                    (foldts alternate seed ...)))
-                 ((<application> proc args)
-                  (let-values (((seed ...) (foldts proc seed ...)))
-                    (fold-values foldts args seed ...)))
-                 ((<sequence> exps)
-                  (fold-values foldts exps seed ...))
-                 ((<lambda> body)
-                  (foldts body seed ...))
-                 ((<lambda-case> inits body alternate)
-                  (let-values (((seed ...) (fold-values foldts inits seed 
...)))
-                    (if alternate
-                        (let-values (((seed ...) (foldts body seed ...)))
-                          (foldts alternate seed ...))
-                        (foldts body seed ...))))
-                 ((<let> vals body)
-                  (let*-values (((seed ...) (fold-values foldts vals seed 
...)))
-                    (foldts body seed ...)))
-                 ((<letrec> vals body)
-                  (let*-values (((seed ...) (fold-values foldts vals seed 
...)))
-                    (foldts body seed ...)))
-                 ((<fix> vals body)
-                  (let*-values (((seed ...) (fold-values foldts vals seed 
...)))
-                    (foldts body seed ...)))
-                 ((<let-values> exp body)
-                  (let*-values (((seed ...) (foldts exp seed ...)))
-                    (foldts body seed ...)))
-                 ((<dynwind> body winder unwinder)
-                  (let*-values (((seed ...) (foldts body seed ...))
-                                ((seed ...) (foldts winder seed ...)))
-                    (foldts unwinder seed ...)))
-                 ((<dynlet> fluids vals body)
-                  (let*-values (((seed ...) (fold-values foldts fluids seed 
...))
-                                ((seed ...) (fold-values foldts vals seed 
...)))
-                    (foldts body seed ...)))
-                 ((<dynref> fluid)
-                  (foldts fluid seed ...))
-                 ((<dynset> fluid exp)
-                  (let*-values (((seed ...) (foldts fluid seed ...)))
-                    (foldts exp seed ...)))
-                 ((<prompt> tag body handler)
-                  (let*-values (((seed ...) (foldts tag seed ...))
-                                ((seed ...) (foldts body seed ...)))
-                    (foldts handler seed ...)))
-                 ((<abort> tag args tail)
-                  (let*-values (((seed ...) (foldts tag seed ...))
-                                ((seed ...) (fold-values foldts args seed 
...)))
-                    (foldts tail seed ...)))
-                 (else
-                  (values seed ...)))))
-           (up tree seed ...)))))))
+(define-syntax-rule (make-tree-il-folder seed ...)
+  (lambda (tree down up seed ...)
+    (define (fold-values proc exps seed ...)
+      (if (null? exps)
+          (values seed ...)
+          (let-values (((seed ...) (proc (car exps) seed ...)))
+            (fold-values proc (cdr exps) seed ...))))
+    (let foldts ((tree tree) (seed seed) ...)
+      (let*-values
+          (((seed ...) (down tree seed ...))
+           ((seed ...)
+            (record-case tree
+              ((<lexical-set> exp)
+               (foldts exp seed ...))
+              ((<module-set> exp)
+               (foldts exp seed ...))
+              ((<toplevel-set> exp)
+               (foldts exp seed ...))
+              ((<toplevel-define> exp)
+               (foldts exp seed ...))
+              ((<conditional> test consequent alternate)
+               (let*-values (((seed ...) (foldts test seed ...))
+                             ((seed ...) (foldts consequent seed ...)))
+                 (foldts alternate seed ...)))
+              ((<application> proc args)
+               (let-values (((seed ...) (foldts proc seed ...)))
+                 (fold-values foldts args seed ...)))
+              ((<sequence> exps)
+               (fold-values foldts exps seed ...))
+              ((<lambda> body)
+               (foldts body seed ...))
+              ((<lambda-case> inits body alternate)
+               (let-values (((seed ...) (fold-values foldts inits seed ...)))
+                 (if alternate
+                     (let-values (((seed ...) (foldts body seed ...)))
+                       (foldts alternate seed ...))
+                     (foldts body seed ...))))
+              ((<let> vals body)
+               (let*-values (((seed ...) (fold-values foldts vals seed ...)))
+                 (foldts body seed ...)))
+              ((<letrec> vals body)
+               (let*-values (((seed ...) (fold-values foldts vals seed ...)))
+                 (foldts body seed ...)))
+              ((<fix> vals body)
+               (let*-values (((seed ...) (fold-values foldts vals seed ...)))
+                 (foldts body seed ...)))
+              ((<let-values> exp body)
+               (let*-values (((seed ...) (foldts exp seed ...)))
+                 (foldts body seed ...)))
+              ((<dynwind> body winder unwinder)
+               (let*-values (((seed ...) (foldts body seed ...))
+                             ((seed ...) (foldts winder seed ...)))
+                 (foldts unwinder seed ...)))
+              ((<dynlet> fluids vals body)
+               (let*-values (((seed ...) (fold-values foldts fluids seed ...))
+                             ((seed ...) (fold-values foldts vals seed ...)))
+                 (foldts body seed ...)))
+              ((<dynref> fluid)
+               (foldts fluid seed ...))
+              ((<dynset> fluid exp)
+               (let*-values (((seed ...) (foldts fluid seed ...)))
+                 (foldts exp seed ...)))
+              ((<prompt> tag body handler)
+               (let*-values (((seed ...) (foldts tag seed ...))
+                             ((seed ...) (foldts body seed ...)))
+                 (foldts handler seed ...)))
+              ((<abort> tag args tail)
+               (let*-values (((seed ...) (foldts tag seed ...))
+                             ((seed ...) (fold-values foldts args seed ...)))
+                 (foldts tail seed ...)))
+              (else
+               (values seed ...)))))
+        (up tree seed ...)))))
 
 (define (post-order! f x)
   (let lp ((x x))
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 0845d29..e4424f3 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -288,21 +288,18 @@
        #'(define-class-pre-definitions (rest ...) 
          out ... (define-class-pre-definition (slotopt ...)))))))
 
-(define-syntax define-class
-  (syntax-rules ()
-    ((_ name supers slot ...)
-     (begin
-       (define-class-pre-definitions (slot ...))
-       (if (and (defined? 'name)
-                (is-a? name <class>)
-                (memq <object> (class-precedence-list name)))
-           (class-redefinition name
-                               (class supers slot ... #:name 'name))
-           (toplevel-define! 'name (class supers slot ... #:name 'name)))))))
+(define-syntax-rule (define-class name supers slot ...)
+  (begin
+    (define-class-pre-definitions (slot ...))
+    (if (and (defined? 'name)
+             (is-a? name <class>)
+             (memq <object> (class-precedence-list name)))
+        (class-redefinition name
+                            (class supers slot ... #:name 'name))
+        (toplevel-define! 'name (class supers slot ... #:name 'name)))))
        
-(define-syntax standard-define-class
-  (syntax-rules ()
-    ((_ arg ...) (define-class arg ...))))
+(define-syntax-rule (standard-define-class arg ...)
+  (define-class arg ...))
 
 ;;;
 ;;; {Generic functions and accessors}
@@ -369,13 +366,15 @@
   (for-each (lambda (gf)
              (slot-set! gf 'extended-by
                         (cons eg (slot-ref gf 'extended-by))))
-           gfs))
+           gfs)
+  (invalidate-method-cache! eg))
 
 (define (not-extended-by! gfs eg)
   (for-each (lambda (gf)
              (slot-set! gf 'extended-by
                         (delq! eg (slot-ref gf 'extended-by))))
-           gfs))
+           gfs)
+  (invalidate-method-cache! eg))
 
 (define* (ensure-generic old-definition #:optional name)
   (cond ((is-a? old-definition <generic>) old-definition)
@@ -390,13 +389,11 @@
         (else (make <generic> #:name name))))
 
 ;; same semantics as <generic>
-(define-syntax define-accessor
-  (syntax-rules ()
-    ((_ name)
-     (define name
-       (cond ((not (defined? 'name))  (ensure-accessor #f 'name))
-             ((is-a? name <accessor>) (make <accessor> #:name 'name))
-             (else                    (ensure-accessor name 'name)))))))
+(define-syntax-rule (define-accessor name)
+  (define name
+    (cond ((not (defined? 'name))  (ensure-accessor #f 'name))
+          ((is-a? name <accessor>) (make <accessor> #:name 'name))
+          (else                    (ensure-accessor name 'name)))))
 
 (define (make-setter-name name)
   (string->symbol (string-append "setter:" (symbol->string name))))
@@ -446,6 +443,7 @@
                (slot-set! method 'generic-function gws))
              methods)
     (slot-set! gws 'methods methods)
+    (invalidate-method-cache! gws)
     gws))
 
 ;;;
@@ -610,15 +608,25 @@
                methods)
              (loop (cdr l)))))))
 
+(define (method-n-specializers m)
+  (length* (slot-ref m 'specializers)))
+
+(define (calculate-n-specialized gf)
+  (fold (lambda (m n) (max n (method-n-specializers m)))
+        0
+        (generic-function-methods gf)))
+
+(define (invalidate-method-cache! gf)
+  (%invalidate-method-cache! gf)
+  (slot-set! gf 'n-specialized (calculate-n-specialized gf))
+  (for-each (lambda (gf) (invalidate-method-cache! gf))
+            (slot-ref gf 'extended-by)))
+
 (define internal-add-method!
   (method ((gf <generic>) (m <method>))
     (slot-set! m  'generic-function gf)
     (slot-set! gf 'methods (compute-new-list-of-methods gf m))
-    (let ((specializers (slot-ref m 'specializers)))
-      (slot-set! gf 'n-specialized
-                 (max (length* specializers)
-                      (slot-ref gf 'n-specialized))))
-    (%invalidate-method-cache! gf)
+    (invalidate-method-cache! gf)
     (add-method-in-classes! m)
     *unspecified*))
 
@@ -844,6 +852,7 @@
         (slot-set! val2
                    'extended-by
                    (cons gf (delq! gf (slot-ref val2 'extended-by))))
+         (invalidate-method-cache! gf)
         var)))
 
 (module-define! duplicate-handlers 'merge-generics merge-generics)
@@ -1027,7 +1036,7 @@
                    ;; remove the method from its GF
                    (slot-set! gf 'methods
                               (delq1! m (slot-ref gf 'methods)))
-                   (%invalidate-method-cache! gf)
+                   (invalidate-method-cache! gf)
                    ;; remove the method from its specializers
                    (remove-method-in-classes! m))))
            (class-direct-methods c)))
diff --git a/module/oop/goops/simple.scm b/module/oop/goops/simple.scm
index 8f4d839..fba4d41 100644
--- a/module/oop/goops/simple.scm
+++ b/module/oop/goops/simple.scm
@@ -1,6 +1,6 @@
 ;;; installed-scm-file
 
-;;;; Copyright (C) 2005, 2006, 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 2005, 2006, 2010, 2011 Free Software Foundation, Inc.
 ;;;; 
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -23,10 +23,8 @@
   :export (define-class)
   :no-backtrace)
 
-(define-syntax define-class
-  (syntax-rules ()
-    ((_ arg ...)
-     (define-class-with-accessors-keywords arg ...))))
+(define-syntax-rule (define-class arg ...)
+  (define-class-with-accessors-keywords arg ...))
 
 (module-use! (module-public-interface (current-module))
              (resolve-interface '(oop goops)))
diff --git a/module/oop/goops/stklos.scm b/module/oop/goops/stklos.scm
index 8a7ae16..45272fa 100644
--- a/module/oop/goops/stklos.scm
+++ b/module/oop/goops/stklos.scm
@@ -1,4 +1,4 @@
-;;;; Copyright (C) 1999,2002, 2006, 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 1999,2002, 2006, 2010, 2011 Free Software Foundation, Inc.
 ;;;; 
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -47,10 +47,8 @@
 ;;; Enable keyword support (*fixme*---currently this has global effect)
 (read-set! keywords 'prefix)
 
-(define-syntax define-class
-  (syntax-rules ()
-    ((_ name supers (slot ...) rest ...)
-     (standard-define-class name supers slot ... rest ...))))
+(define-syntax-rule (define-class name supers (slot ...) rest ...)
+  (standard-define-class name supers slot ... rest ...))
 
 (define (toplevel-define! name val)
   (module-define! (current-module) name val))
diff --git a/module/srfi/srfi-1.scm b/module/srfi/srfi-1.scm
index 765bd50..d2347b0 100644
--- a/module/srfi/srfi-1.scm
+++ b/module/srfi/srfi-1.scm
@@ -240,11 +240,9 @@ higher-order procedures."
   (scm-error 'wrong-type-arg (symbol->string caller)
              "Wrong type argument: ~S" (list arg) '()))
 
-(define-syntax check-arg
-  (syntax-rules ()
-    ((_ pred arg caller)
-     (if (not (pred arg))
-         (wrong-type-arg 'caller arg)))))
+(define-syntax-rule (check-arg pred arg caller)
+  (if (not (pred arg))
+      (wrong-type-arg 'caller arg)))
 
 (define (out-of-range proc arg)
   (scm-error 'out-of-range proc
diff --git a/module/srfi/srfi-35.scm b/module/srfi/srfi-35.scm
index 7f1ff7f..d2b9c94 100644
--- a/module/srfi/srfi-35.scm
+++ b/module/srfi/srfi-35.scm
@@ -1,6 +1,6 @@
 ;;; srfi-35.scm --- Conditions                 -*- coding: utf-8 -*-
 
-;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 ;;
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -295,24 +295,20 @@ by C."
 ;;; Syntax.
 ;;;
 
-(define-syntax define-condition-type
-  (syntax-rules ()
-    ((_ name parent pred (field-name field-accessor) ...)
-     (begin
-       (define name
-         (make-condition-type 'name parent '(field-name ...)))
-       (define (pred c)
-         (condition-has-type? c name))
-       (define (field-accessor c)
-         (condition-ref c 'field-name))
-       ...))))
-
-(define-syntax compound-condition
+(define-syntax-rule (define-condition-type name parent pred (field-name 
field-accessor) ...)
+  (begin
+    (define name
+      (make-condition-type 'name parent '(field-name ...)))
+    (define (pred c)
+      (condition-has-type? c name))
+    (define (field-accessor c)
+      (condition-ref c 'field-name))
+    ...))
+
+(define-syntax-rule (compound-condition (type ...) (field ...))
   ;; Create a compound condition using `make-compound-condition-type'.
-  (syntax-rules ()
-    ((_ (type ...) (field ...))
-     (condition ((make-compound-condition-type '%compound `(,type ...))
-                 field ...)))))
+  (condition ((make-compound-condition-type '%compound `(,type ...))
+              field ...)))
 
 (define-syntax condition-instantiation
   ;; Build the `(make-condition type ...)' call.
diff --git a/module/srfi/srfi-39.scm b/module/srfi/srfi-39.scm
index 61e67b8..dba86fd 100644
--- a/module/srfi/srfi-39.scm
+++ b/module/srfi/srfi-39.scm
@@ -1,6 +1,6 @@
 ;;; srfi-39.scm --- Parameter objects
 
-;;     Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
+;;     Copyright (C) 2004, 2005, 2006, 2008, 2011 Free Software Foundation, 
Inc.
 ;;
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -69,12 +69,10 @@
          ((null? (cdr new-value)) (fluid-set! value (conv (car new-value))))
          (else (error "make-parameter expects 0 or 1 arguments" 
new-value)))))))
 
-(define-syntax parameterize
-  (syntax-rules ()
-    ((_ ((?param ?value) ...) ?body ...)
-     (with-parameters* (list ?param ...)
-                       (list ?value ...)
-                       (lambda () ?body ...)))))
+(define-syntax-rule (parameterize ((?param ?value) ...) ?body ...)
+  (with-parameters* (list ?param ...)
+                    (list ?value ...)
+                    (lambda () ?body ...)))
 
 (define (current-input-port . new-value)
   (if (null? new-value)
diff --git a/module/srfi/srfi-45.scm b/module/srfi/srfi-45.scm
index 1b912be..29b0393 100644
--- a/module/srfi/srfi-45.scm
+++ b/module/srfi/srfi-45.scm
@@ -1,6 +1,6 @@
 ;;; srfi-45.scm -- Primitives for Expressing Iterative Lazy Algorithms
 
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
 ;; Copyright (C) 2003 André van Tonder. All Rights Reserved.
 
 ;; Permission is hereby granted, free of charge, to any person
@@ -47,17 +47,14 @@
   (tag value-tag value-tag-set!)
   (proc value-proc value-proc-set!))
 
-(define-syntax lazy
-  (syntax-rules ()
-    ((lazy exp)
-     (make-promise (make-value 'lazy (lambda () exp))))))
+(define-syntax-rule (lazy exp)
+  (make-promise (make-value 'lazy (lambda () exp))))
 
 (define (eager x)
   (make-promise (make-value 'eager x)))
 
-(define-syntax delay
-  (syntax-rules ()
-    ((delay exp) (lazy (eager exp)))))
+(define-syntax-rule (delay exp)
+  (lazy (eager exp)))
 
 (define (force promise)
   (let ((content (promise-val promise)))
diff --git a/module/srfi/srfi-67/compare.scm b/module/srfi/srfi-67/compare.scm
index 21b0e94..2ab947e 100644
--- a/module/srfi/srfi-67/compare.scm
+++ b/module/srfi/srfi-67/compare.scm
@@ -1,3 +1,4 @@
+; Copyright (c) 2011 Free Software Foundation, Inc.
 ; Copyright (c) 2005 Sebastian Egner and Jens Axel S{\o}gaard.
 ; 
 ; Permission is hereby granted, free of charge, to any person obtaining
@@ -88,14 +89,12 @@
 
 ; 3-sided conditional
 
-(define-syntax if3
-  (syntax-rules ()
-    ((if3 c less equal greater)
-     (case c
-       ((-1) less)
-       (( 0) equal)
-       (( 1) greater)
-       (else (error "comparison value not in {-1,0,1}"))))))
+(define-syntax-rule (if3 c less equal greater)
+  (case c
+    ((-1) less)
+    (( 0) equal)
+    (( 1) greater)
+    (else (error "comparison value not in {-1,0,1}"))))
 
 
 ; 2-sided conditionals for comparisons
@@ -110,51 +109,37 @@
        (a-cases alternate)
        (else    (error "comparison value not in {-1,0,1}"))))))
 
-(define-syntax if=?
-  (syntax-rules ()
-    ((if=? arg ...)
-     (compare:if-rel? (0) (-1 1) arg ...))))
+(define-syntax-rule (if=? arg ...)
+  (compare:if-rel? (0) (-1 1) arg ...))
 
-(define-syntax if<?
-  (syntax-rules ()
-    ((if<? arg ...)
-     (compare:if-rel? (-1) (0 1) arg ...))))
+(define-syntax-rule (if<? arg ...)
+  (compare:if-rel? (-1) (0 1) arg ...))
 
-(define-syntax if>?
-  (syntax-rules ()
-    ((if>? arg ...)
-     (compare:if-rel? (1) (-1 0) arg ...))))
+(define-syntax-rule (if>? arg ...)
+  (compare:if-rel? (1) (-1 0) arg ...))
 
-(define-syntax if<=?
-  (syntax-rules ()
-    ((if<=? arg ...)
-     (compare:if-rel? (-1 0) (1) arg ...))))
+(define-syntax-rule (if<=? arg ...)
+  (compare:if-rel? (-1 0) (1) arg ...))
 
-(define-syntax if>=?
-  (syntax-rules ()
-    ((if>=? arg ...)
-     (compare:if-rel? (0 1) (-1) arg ...))))
+(define-syntax-rule (if>=? arg ...)
+  (compare:if-rel? (0 1) (-1) arg ...))
 
-(define-syntax if-not=?
-  (syntax-rules ()
-    ((if-not=? arg ...)
-     (compare:if-rel? (-1 1) (0) arg ...))))
+(define-syntax-rule if- (not=? arg ...)
+  (compare:if-rel? (-1 1) (0) arg ...))
 
 
 ; predicates from compare procedures
 
-(define-syntax compare:define-rel?
-  (syntax-rules ()
-    ((compare:define-rel? rel? if-rel?)
-     (define rel?
-       (case-lambda
-       (()        (lambda (x y) (if-rel? (default-compare x y) #t #f)))
-       ((compare) (lambda (x y) (if-rel? (compare         x y) #t #f)))
-       ((x y)                   (if-rel? (default-compare x y) #t #f))
-       ((compare x y)
-        (if (procedure? compare)
-            (if-rel? (compare x y) #t #f)
-            (error "not a procedure (Did you mean rel/rel??): " compare))))))))
+(define-syntax-rule compare:define- (rel? rel? if-rel?)
+  (define rel?
+    (case-lambda
+      (()        (lambda (x y) (if-rel? (default-compare x y) #t #f)))
+      ((compare) (lambda (x y) (if-rel? (compare         x y) #t #f)))
+      ((x y)                   (if-rel? (default-compare x y) #t #f))
+      ((compare x y)
+       (if (procedure? compare)
+           (if-rel? (compare x y) #t #f)
+           (error "not a procedure (Did you mean rel/rel??): " compare))))))
 
 (compare:define-rel? =?    if=?)
 (compare:define-rel? <?    if<?)
@@ -166,29 +151,27 @@
 
 ; chains of length 3
 
-(define-syntax compare:define-rel1/rel2?
-  (syntax-rules ()
-    ((compare:define-rel1/rel2? rel1/rel2? if-rel1? if-rel2?)
-     (define rel1/rel2?
-       (case-lambda
-       (()
-        (lambda (x y z)
-          (if-rel1? (default-compare x y)
-                    (if-rel2? (default-compare y z) #t #f)
-                    (compare:checked #f default-compare z))))
-       ((compare)
-        (lambda (x y z)
-          (if-rel1? (compare x y)
-               (if-rel2? (compare y z) #t #f)
-               (compare:checked #f compare z))))
-       ((x y z)
-        (if-rel1? (default-compare x y)
-              (if-rel2? (default-compare y z) #t #f)
-              (compare:checked #f default-compare z)))
-       ((compare x y z)
-        (if-rel1? (compare x y)
-              (if-rel2? (compare y z) #t #f)
-              (compare:checked #f compare z))))))))
+(define-syntax-rule compare:define-rel1/ (rel2? rel1/rel2? if-rel1? if-rel2?)
+  (define rel1/rel2?
+    (case-lambda
+      (()
+       (lambda (x y z)
+         (if-rel1? (default-compare x y)
+                   (if-rel2? (default-compare y z) #t #f)
+                   (compare:checked #f default-compare z))))
+      ((compare)
+       (lambda (x y z)
+         (if-rel1? (compare x y)
+                   (if-rel2? (compare y z) #t #f)
+                   (compare:checked #f compare z))))
+      ((x y z)
+       (if-rel1? (default-compare x y)
+                 (if-rel2? (default-compare y z) #t #f)
+                 (compare:checked #f default-compare z)))
+      ((compare x y z)
+       (if-rel1? (compare x y)
+                 (if-rel2? (compare y z) #t #f)
+                 (compare:checked #f compare z))))))
 
 (compare:define-rel1/rel2? </<?   if<?  if<?)
 (compare:define-rel1/rel2? </<=?  if<?  if<=?)
@@ -202,31 +185,29 @@
 
 ; chains of arbitrary length
 
-(define-syntax compare:define-chain-rel?
-  (syntax-rules ()
-    ((compare:define-chain-rel? chain-rel? if-rel?)
-     (define chain-rel?
-       (case-lambda
-       ((compare)
-        #t)
-       ((compare x1)
-        (compare:checked #t compare x1))
-       ((compare x1 x2)
-        (if-rel? (compare x1 x2) #t #f))
-       ((compare x1 x2 x3)
-        (if-rel? (compare x1 x2)
-                 (if-rel? (compare x2 x3) #t #f)
-                 (compare:checked #f compare x3)))
-       ((compare x1 x2 . x3+)
-        (if-rel? (compare x1 x2)
-                 (let chain? ((head x2) (tail x3+))
-                   (if (null? tail)
-                       #t
-                       (if-rel? (compare head (car tail))
-                                (chain? (car tail) (cdr tail))
-                                (apply compare:checked #f 
-                                       compare (cdr tail)))))
-                 (apply compare:checked #f compare x3+))))))))
+(define-syntax-rule compare:define-chain- (rel? chain-rel? if-rel?)
+  (define chain-rel?
+    (case-lambda
+      ((compare)
+       #t)
+      ((compare x1)
+       (compare:checked #t compare x1))
+      ((compare x1 x2)
+       (if-rel? (compare x1 x2) #t #f))
+      ((compare x1 x2 x3)
+       (if-rel? (compare x1 x2)
+                (if-rel? (compare x2 x3) #t #f)
+                (compare:checked #f compare x3)))
+      ((compare x1 x2 . x3+)
+       (if-rel? (compare x1 x2)
+                (let chain? ((head x2) (tail x3+))
+                  (if (null? tail)
+                      #t
+                      (if-rel? (compare head (car tail))
+                               (chain? (car tail) (cdr tail))
+                               (apply compare:checked #f 
+                                      compare (cdr tail)))))
+                (apply compare:checked #f compare x3+))))))
 
 (compare:define-chain-rel? chain=?  if=?)
 (compare:define-chain-rel? chain<?  if<?)
@@ -468,19 +449,17 @@
      (begin (compare:type-check type? type-name x)
             (compare:type-check type? type-name y)))))
 
-(define-syntax compare:define-by=/<
-  (syntax-rules ()
-    ((compare:define-by=/< compare = < type? type-name)
-     (define compare
-       (let ((= =) (< <))
-        (lambda (x y)
-          (if (type? x)
-              (if (eq? x y)
-                  0
-                  (if (type? y)
-                      (if (= x y) 0 (if (< x y) -1 1))
-                      (error (string-append "not " type-name ":") y)))
-              (error (string-append "not " type-name ":") x))))))))
+(define-syntax-rule compare:define- (by=/< compare = < type? type-name)
+  (define compare
+    (let ((= =) (< <))
+      (lambda (x y)
+        (if (type? x)
+            (if (eq? x y)
+                0
+                (if (type? y)
+                    (if (= x y) 0 (if (< x y) -1 1))
+                    (error (string-append "not " type-name ":") y)))
+            (error (string-append "not " type-name ":") x))))))
 
 (define (boolean-compare x y)
   (compare:type-check boolean? "boolean" x y)
diff --git a/module/sxml/match.scm b/module/sxml/match.scm
index 9aebc01..84cbce3 100644
--- a/module/sxml/match.scm
+++ b/module/sxml/match.scm
@@ -1,6 +1,6 @@
 ;;; -*- mode: scheme; coding: utf-8; -*-
 ;;;
-;;; Copyright (C) 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
 ;;;
 ;;; This library is free software; you can redistribute it and/or modify it
 ;;; under the terms of the GNU Lesser General Public License as published by
@@ -40,34 +40,27 @@
 ;;; PLT compatibility layer.
 ;;;
 
-(define-syntax syntax-object->datum
-  (syntax-rules ()
-    ((_ stx)
-     (syntax->datum stx))))
+(define-syntax-rule (syntax-object->datum stx)
+  (syntax->datum stx))
 
-(define-syntax void
-  (syntax-rules ()
-    ((_) *unspecified*)))
+(define-syntax-rule (void)
+  *unspecified*)
 
 (define %call/ec-prompt
   (make-prompt-tag))
 
-(define-syntax call/ec
+(define-syntax-rule (call/ec proc)
   ;; aka. `call-with-escape-continuation'
-  (syntax-rules ()
-    ((_ proc)
-     (call-with-prompt %call/ec-prompt
-                       (lambda ()
-                         (proc (lambda args
-                                 (apply abort-to-prompt
-                                        %call/ec-prompt args))))
-                       (lambda (_ . args)
-                         (apply values args))))))
+  (call-with-prompt %call/ec-prompt
+                    (lambda ()
+                      (proc (lambda args
+                              (apply abort-to-prompt
+                                     %call/ec-prompt args))))
+                    (lambda (_ . args)
+                      (apply values args))))
 
-(define-syntax let/ec
-  (syntax-rules ()
-    ((_ cont body ...)
-     (call/ec (lambda (cont) body ...)))))
+(define-syntax-rule (let/ec cont body ...)
+  (call/ec (lambda (cont) body ...)))
 
 (define (raise-syntax-error x msg obj sub)
   (throw 'sxml-match-error x msg obj sub))
diff --git a/module/system/repl/error-handling.scm 
b/module/system/repl/error-handling.scm
index c6c64cc..2a585aa 100644
--- a/module/system/repl/error-handling.scm
+++ b/module/system/repl/error-handling.scm
@@ -182,7 +182,5 @@
                (apply (if (memq k pass-keys) throw on-error) k args))
              (error "Unknown on-error strategy" on-error)))))))
 
-(define-syntax with-error-handling
-  (syntax-rules ()
-    ((_ form)
-     (call-with-error-handling (lambda () form)))))
+(define-syntax-rule (with-error-handling form)
+  (call-with-error-handling (lambda () form)))
diff --git a/module/system/repl/repl.scm b/module/system/repl/repl.scm
index 5bab778..1cffa71 100644
--- a/module/system/repl/repl.scm
+++ b/module/system/repl/repl.scm
@@ -135,15 +135,13 @@
   (run-repl (make-repl lang debug)))
 
 ;; (put 'abort-on-error 'scheme-indent-function 1)
-(define-syntax abort-on-error
-  (syntax-rules ()
-    ((_ string exp)
-     (catch #t
-       (lambda () exp)
-       (lambda (key . args)
-         (format #t "While ~A:~%" string)
-         (print-exception (current-output-port) #f key args)
-         (abort))))))
+(define-syntax-rule (abort-on-error string exp)
+  (catch #t
+    (lambda () exp)
+    (lambda (key . args)
+      (format #t "While ~A:~%" string)
+      (print-exception (current-output-port) #f key args)
+      (abort))))
 
 (define (run-repl repl)
   (define (with-stack-and-prompt thunk)
diff --git a/module/system/vm/inspect.scm b/module/system/vm/inspect.scm
index aebf50d..1023437 100644
--- a/module/system/vm/inspect.scm
+++ b/module/system/vm/inspect.scm
@@ -1,6 +1,6 @@
 ;;; Guile VM debugging facilities
 
-;;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
 ;;;
 ;;; This library is free software; you can redistribute it and/or
 ;;; modify it under the terms of the GNU Lesser General Public
@@ -81,16 +81,15 @@
 ;;;
 
 (define (inspect x)
-  (define-syntax define-command
-    (syntax-rules ()
-      ((_ ((mod cname alias ...) . args) body ...)
-       (define cname
-         (let ((c (lambda* args body ...)))
-           (set-procedure-property! c 'name 'cname)
-           (module-define! mod 'cname c)
-           (module-add! mod 'alias (module-local-variable mod 'cname))
-           ...
-           c)))))
+  (define-syntax-rule (define-command ((mod cname alias ...) . args)
+                        body ...)
+    (define cname
+      (let ((c (lambda* args body ...)))
+        (set-procedure-property! c 'name 'cname)
+        (module-define! mod 'cname c)
+        (module-add! mod 'alias (module-local-variable mod 'cname))
+        ...
+        c)))
 
   (let ((commands (make-module)))
     (define (prompt)
diff --git a/module/texinfo.scm b/module/texinfo.scm
index 970895f..8798eb3 100644
--- a/module/texinfo.scm
+++ b/module/texinfo.scm
@@ -77,6 +77,7 @@
   #:use-module (sxml transform)
   #:use-module (sxml ssax input-parse)
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-13)
   #:export (call-with-file-and-dir
             texi-command-specs
@@ -103,25 +104,6 @@ files by relative path name."
           (call-with-input-file (basename filename) proc))
         (lambda () (chdir current-dir)))))
 
-;; Define this version here, because (srfi srfi-11)'s definition uses
-;; syntax-rules, which is really damn slow
-(define-macro (let*-values bindings . body)
-  (if (null? bindings) (cons 'begin body)
-      (apply
-       (lambda (vars initializer)
-        (let ((cont 
-               (cons 'let*-values
-                     (cons (cdr bindings) body))))
-          (cond
-           ((not (pair? vars))         ; regular let case, a single var
-            `(let ((,vars ,initializer)) ,cont))
-           ((null? (cdr vars))         ; single var, see the prev case
-            `(let ((,(car vars) ,initializer)) ,cont))
-          (else                        ; the most generic case
-           `(call-with-values (lambda () ,initializer)
-             (lambda ,vars ,cont))))))
-       (car bindings))))
-
 ;;========================================================================
 ;;            Reflection on the XML vocabulary
 
diff --git a/module/web/server.scm b/module/web/server.scm
index c5e623a..ef6879e 100644
--- a/module/web/server.scm
+++ b/module/web/server.scm
@@ -118,11 +118,9 @@
   (write server-impl-write)
   (close server-impl-close))
 
-(define-syntax define-server-impl
-  (syntax-rules ()
-    ((_ name open read write close)
-     (define name
-       (make-server-impl 'name open read write close)))))
+(define-syntax-rule (define-server-impl name open read write close)
+  (define name
+    (make-server-impl 'name open read write close)))
 
 (define (lookup-server-impl impl)
   "Look up a server implementation.  If @var{impl} is a server


hooks/post-receive
-- 
GNU Guile



reply via email to

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