guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] GNU Guile branch, master, updated. release_1-9-4-48-g24b


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-4-48-g24bf130
Date: Mon, 26 Oct 2009 20:20:27 +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=24bf130fd15afbc8b3a2ccdc50a027f9b6c9e623

The branch, master has been updated
       via  24bf130fd15afbc8b3a2ccdc50a027f9b6c9e623 (commit)
      from  b1f6293e98768f1efedde848520812fc97dea294 (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 24bf130fd15afbc8b3a2ccdc50a027f9b6c9e623
Author: Andy Wingo <address@hidden>
Date:   Mon Oct 26 21:20:23 2009 +0100

    implement #:predicate
    
    will be useful for making e.g. typecase-lambda. Tough to tell though.
    
    * module/ice-9/psyntax.scm (lambda-formals, lambda*-formals): Parse out
      a #:predicate, which goes right before the rest args. The vanilla
      lambda doesn't parse it out of course, but it does return another
      value.
      (chi-lambda-case, lambda*, lambda): Expand and pass the predicate on
      to build-lambda-case.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.
    
    * module/language/tree-il/compile-glil.scm (flatten): Compile a failing
      predicate without an else clause into a call to `error'. Also, fix
      something the compile warnings caught.

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

Summary of changes:
 module/ice-9/psyntax-pp.scm              | 9221 +++++++++++++++---------------
 module/ice-9/psyntax.scm                 |   86 +-
 module/language/tree-il/compile-glil.scm |    7 +-
 3 files changed, 4783 insertions(+), 4531 deletions(-)

diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 56f15e8..1dc6469 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -123,343 +123,383 @@
                       #{mod\ 325}#
                       #{get-formals\ 326}#
                       #{clauses\ 327}#)
-               (letrec ((#{expand-body\ 331}#
-                          (lambda (#{req\ 332}#
-                                   #{opt\ 333}#
-                                   #{rest\ 334}#
-                                   #{kw\ 335}#
-                                   #{body\ 336}#
-                                   #{vars\ 337}#
-                                   #{r*\ 338}#
-                                   #{w*\ 339}#
-                                   #{inits\ 340}#)
-                            ((lambda (#{tmp\ 341}#)
-                               ((lambda (#{tmp\ 342}#)
-                                  (if (if #{tmp\ 342}#
-                                        (apply (lambda (#{docstring\ 343}#
-                                                        #{e1\ 344}#
-                                                        #{e2\ 345}#)
+               (letrec ((#{expand-body\ 332}#
+                          (lambda (#{req\ 333}#
+                                   #{opt\ 334}#
+                                   #{rest\ 335}#
+                                   #{kw\ 336}#
+                                   #{pred\ 337}#
+                                   #{body\ 338}#
+                                   #{vars\ 339}#
+                                   #{r*\ 340}#
+                                   #{w*\ 341}#
+                                   #{inits\ 342}#)
+                            ((lambda (#{tmp\ 343}#)
+                               ((lambda (#{tmp\ 344}#)
+                                  (if (if #{tmp\ 344}#
+                                        (apply (lambda (#{docstring\ 345}#
+                                                        #{e1\ 346}#
+                                                        #{e2\ 347}#)
                                                  (string?
                                                    (syntax->datum
-                                                     #{docstring\ 343}#)))
-                                               #{tmp\ 342}#)
+                                                     #{docstring\ 345}#)))
+                                               #{tmp\ 344}#)
                                         #f)
-                                    (apply (lambda (#{docstring\ 346}#
-                                                    #{e1\ 347}#
-                                                    #{e2\ 348}#)
+                                    (apply (lambda (#{docstring\ 348}#
+                                                    #{e1\ 349}#
+                                                    #{e2\ 350}#)
                                              (values
                                                (syntax->datum
-                                                 #{docstring\ 346}#)
-                                               #{req\ 332}#
-                                               #{opt\ 333}#
-                                               #{rest\ 334}#
-                                               #{kw\ 335}#
-                                               #{inits\ 340}#
-                                               #{vars\ 337}#
-                                               #f
+                                                 #{docstring\ 348}#)
+                                               #{req\ 333}#
+                                               #{opt\ 334}#
+                                               #{rest\ 335}#
+                                               #{kw\ 336}#
+                                               #{inits\ 342}#
+                                               #{vars\ 339}#
+                                               #{pred\ 337}#
                                                (#{chi-body\ 171}#
-                                                 (cons #{e1\ 347}# #{e2\ 348}#)
+                                                 (cons #{e1\ 349}# #{e2\ 350}#)
                                                  (#{source-wrap\ 160}#
                                                    #{e\ 321}#
                                                    #{w\ 323}#
                                                    #{s\ 324}#
                                                    #{mod\ 325}#)
-                                                 #{r*\ 338}#
-                                                 #{w*\ 339}#
+                                                 #{r*\ 340}#
+                                                 #{w*\ 341}#
                                                  #{mod\ 325}#)))
-                                           #{tmp\ 342}#)
-                                    ((lambda (#{tmp\ 350}#)
-                                       (if #{tmp\ 350}#
-                                         (apply (lambda (#{e1\ 351}#
-                                                         #{e2\ 352}#)
+                                           #{tmp\ 344}#)
+                                    ((lambda (#{tmp\ 352}#)
+                                       (if #{tmp\ 352}#
+                                         (apply (lambda (#{e1\ 353}#
+                                                         #{e2\ 354}#)
                                                   (values
                                                     #f
-                                                    #{req\ 332}#
-                                                    #{opt\ 333}#
-                                                    #{rest\ 334}#
-                                                    #{kw\ 335}#
-                                                    #{inits\ 340}#
-                                                    #{vars\ 337}#
-                                                    #f
+                                                    #{req\ 333}#
+                                                    #{opt\ 334}#
+                                                    #{rest\ 335}#
+                                                    #{kw\ 336}#
+                                                    #{inits\ 342}#
+                                                    #{vars\ 339}#
+                                                    #{pred\ 337}#
                                                     (#{chi-body\ 171}#
-                                                      (cons #{e1\ 351}#
-                                                            #{e2\ 352}#)
+                                                      (cons #{e1\ 353}#
+                                                            #{e2\ 354}#)
                                                       (#{source-wrap\ 160}#
                                                         #{e\ 321}#
                                                         #{w\ 323}#
                                                         #{s\ 324}#
                                                         #{mod\ 325}#)
-                                                      #{r*\ 338}#
-                                                      #{w*\ 339}#
+                                                      #{r*\ 340}#
+                                                      #{w*\ 341}#
                                                       #{mod\ 325}#)))
-                                                #{tmp\ 350}#)
+                                                #{tmp\ 352}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp\ 341}#)))
+                                           #{tmp\ 343}#)))
                                      ($sc-dispatch
-                                       #{tmp\ 341}#
+                                       #{tmp\ 343}#
                                        '(any . each-any)))))
                                 ($sc-dispatch
-                                  #{tmp\ 341}#
+                                  #{tmp\ 343}#
                                   '(any any . each-any))))
-                             #{body\ 336}#)))
+                             #{body\ 338}#)))
+                        (#{expand-pred\ 331}#
+                          (lambda (#{req\ 356}#
+                                   #{opt\ 357}#
+                                   #{rest\ 358}#
+                                   #{kw\ 359}#
+                                   #{pred\ 360}#
+                                   #{body\ 361}#
+                                   #{vars\ 362}#
+                                   #{r*\ 363}#
+                                   #{w*\ 364}#
+                                   #{inits\ 365}#)
+                            (#{expand-body\ 332}#
+                              #{req\ 356}#
+                              #{opt\ 357}#
+                              #{rest\ 358}#
+                              #{kw\ 359}#
+                              (if #{pred\ 360}#
+                                (#{chi\ 167}#
+                                  #{pred\ 360}#
+                                  #{r*\ 363}#
+                                  #{w*\ 364}#
+                                  #{mod\ 325}#)
+                                #f)
+                              #{body\ 361}#
+                              #{vars\ 362}#
+                              #{r*\ 363}#
+                              #{w*\ 364}#
+                              #{inits\ 365}#)))
                         (#{expand-kw\ 330}#
-                          (lambda (#{req\ 354}#
-                                   #{opt\ 355}#
-                                   #{rest\ 356}#
-                                   #{kw\ 357}#
-                                   #{body\ 358}#
-                                   #{vars\ 359}#
-                                   #{r*\ 360}#
-                                   #{w*\ 361}#
-                                   #{aok\ 362}#
-                                   #{out\ 363}#
-                                   #{inits\ 364}#)
-                            (if (pair? #{kw\ 357}#)
-                              ((lambda (#{tmp\ 365}#)
-                                 ((lambda (#{tmp\ 366}#)
-                                    (if #{tmp\ 366}#
-                                      (apply (lambda (#{k\ 367}#
-                                                      #{id\ 368}#
-                                                      #{i\ 369}#)
-                                               (let ((#{v\ 370}# (#{gen-var\ 
181}#
-                                                                   #{id\ 
368}#)))
-                                                 (let ((#{l\ 371}# 
(#{gen-labels\ 137}#
-                                                                     (list 
#{v\ 370}#))))
-                                                   (let ((#{r**\ 372}#
+                          (lambda (#{req\ 366}#
+                                   #{opt\ 367}#
+                                   #{rest\ 368}#
+                                   #{kw\ 369}#
+                                   #{pred\ 370}#
+                                   #{body\ 371}#
+                                   #{vars\ 372}#
+                                   #{r*\ 373}#
+                                   #{w*\ 374}#
+                                   #{aok\ 375}#
+                                   #{out\ 376}#
+                                   #{inits\ 377}#)
+                            (if (pair? #{kw\ 369}#)
+                              ((lambda (#{tmp\ 378}#)
+                                 ((lambda (#{tmp\ 379}#)
+                                    (if #{tmp\ 379}#
+                                      (apply (lambda (#{k\ 380}#
+                                                      #{id\ 381}#
+                                                      #{i\ 382}#)
+                                               (let ((#{v\ 383}# (#{gen-var\ 
181}#
+                                                                   #{id\ 
381}#)))
+                                                 (let ((#{l\ 384}# 
(#{gen-labels\ 137}#
+                                                                     (list 
#{v\ 383}#))))
+                                                   (let ((#{r**\ 385}#
                                                            (#{extend-var-env\ 
126}#
-                                                             #{l\ 371}#
-                                                             (list #{v\ 370}#)
-                                                             #{r*\ 360}#)))
-                                                     (let ((#{w**\ 373}#
+                                                             #{l\ 384}#
+                                                             (list #{v\ 383}#)
+                                                             #{r*\ 373}#)))
+                                                     (let ((#{w**\ 386}#
                                                              
(#{make-binding-wrap\ 148}#
-                                                               (list #{id\ 
368}#)
-                                                               #{l\ 371}#
-                                                               #{w*\ 361}#)))
+                                                               (list #{id\ 
381}#)
+                                                               #{l\ 384}#
+                                                               #{w*\ 374}#)))
                                                        (#{expand-kw\ 330}#
-                                                         #{req\ 354}#
-                                                         #{opt\ 355}#
-                                                         #{rest\ 356}#
-                                                         (cdr #{kw\ 357}#)
-                                                         #{body\ 358}#
-                                                         (cons #{v\ 370}#
-                                                               #{vars\ 359}#)
-                                                         #{r**\ 372}#
-                                                         #{w**\ 373}#
-                                                         #{aok\ 362}#
+                                                         #{req\ 366}#
+                                                         #{opt\ 367}#
+                                                         #{rest\ 368}#
+                                                         (cdr #{kw\ 369}#)
+                                                         #{pred\ 370}#
+                                                         #{body\ 371}#
+                                                         (cons #{v\ 383}#
+                                                               #{vars\ 372}#)
+                                                         #{r**\ 385}#
+                                                         #{w**\ 386}#
+                                                         #{aok\ 375}#
                                                          (cons (list 
(syntax->datum
-                                                                       #{k\ 
367}#)
+                                                                       #{k\ 
380}#)
                                                                      
(syntax->datum
-                                                                       #{id\ 
368}#)
-                                                                     #{v\ 
370}#)
-                                                               #{out\ 363}#)
+                                                                       #{id\ 
381}#)
+                                                                     #{v\ 
383}#)
+                                                               #{out\ 376}#)
                                                          (cons (#{chi\ 167}#
-                                                                 #{i\ 369}#
-                                                                 #{r*\ 360}#
-                                                                 #{w*\ 361}#
+                                                                 #{i\ 382}#
+                                                                 #{r*\ 373}#
+                                                                 #{w*\ 374}#
                                                                  #{mod\ 325}#)
-                                                               #{inits\ 
364}#)))))))
-                                             #{tmp\ 366}#)
+                                                               #{inits\ 
377}#)))))))
+                                             #{tmp\ 379}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{tmp\ 365}#)))
+                                        #{tmp\ 378}#)))
                                   ($sc-dispatch
-                                    #{tmp\ 365}#
+                                    #{tmp\ 378}#
                                     '(any any any))))
-                               (car #{kw\ 357}#))
-                              (#{expand-body\ 331}#
-                                #{req\ 354}#
-                                #{opt\ 355}#
-                                #{rest\ 356}#
-                                (if (let ((#{t\ 374}# #{aok\ 362}#))
-                                      (if #{t\ 374}#
-                                        #{t\ 374}#
-                                        (pair? #{out\ 363}#)))
-                                  (cons #{aok\ 362}# (reverse #{out\ 363}#))
+                               (car #{kw\ 369}#))
+                              (#{expand-pred\ 331}#
+                                #{req\ 366}#
+                                #{opt\ 367}#
+                                #{rest\ 368}#
+                                (if (let ((#{t\ 387}# #{aok\ 375}#))
+                                      (if #{t\ 387}#
+                                        #{t\ 387}#
+                                        (pair? #{out\ 376}#)))
+                                  (cons #{aok\ 375}# (reverse #{out\ 376}#))
                                   #f)
-                                #{body\ 358}#
-                                (reverse #{vars\ 359}#)
-                                #{r*\ 360}#
-                                #{w*\ 361}#
-                                (reverse #{inits\ 364}#)))))
+                                #{pred\ 370}#
+                                #{body\ 371}#
+                                (reverse #{vars\ 372}#)
+                                #{r*\ 373}#
+                                #{w*\ 374}#
+                                (reverse #{inits\ 377}#)))))
                         (#{expand-opt\ 329}#
-                          (lambda (#{req\ 375}#
-                                   #{opt\ 376}#
-                                   #{rest\ 377}#
-                                   #{kw\ 378}#
-                                   #{body\ 379}#
-                                   #{vars\ 380}#
-                                   #{r*\ 381}#
-                                   #{w*\ 382}#
-                                   #{out\ 383}#
-                                   #{inits\ 384}#)
-                            (if (pair? #{opt\ 376}#)
-                              ((lambda (#{tmp\ 385}#)
-                                 ((lambda (#{tmp\ 386}#)
-                                    (if #{tmp\ 386}#
-                                      (apply (lambda (#{id\ 387}# #{i\ 388}#)
-                                               (let ((#{v\ 389}# (#{gen-var\ 
181}#
-                                                                   #{id\ 
387}#)))
-                                                 (let ((#{l\ 390}# 
(#{gen-labels\ 137}#
-                                                                     (list 
#{v\ 389}#))))
-                                                   (let ((#{r**\ 391}#
+                          (lambda (#{req\ 388}#
+                                   #{opt\ 389}#
+                                   #{rest\ 390}#
+                                   #{kw\ 391}#
+                                   #{pred\ 392}#
+                                   #{body\ 393}#
+                                   #{vars\ 394}#
+                                   #{r*\ 395}#
+                                   #{w*\ 396}#
+                                   #{out\ 397}#
+                                   #{inits\ 398}#)
+                            (if (pair? #{opt\ 389}#)
+                              ((lambda (#{tmp\ 399}#)
+                                 ((lambda (#{tmp\ 400}#)
+                                    (if #{tmp\ 400}#
+                                      (apply (lambda (#{id\ 401}# #{i\ 402}#)
+                                               (let ((#{v\ 403}# (#{gen-var\ 
181}#
+                                                                   #{id\ 
401}#)))
+                                                 (let ((#{l\ 404}# 
(#{gen-labels\ 137}#
+                                                                     (list 
#{v\ 403}#))))
+                                                   (let ((#{r**\ 405}#
                                                            (#{extend-var-env\ 
126}#
-                                                             #{l\ 390}#
-                                                             (list #{v\ 389}#)
-                                                             #{r*\ 381}#)))
-                                                     (let ((#{w**\ 392}#
+                                                             #{l\ 404}#
+                                                             (list #{v\ 403}#)
+                                                             #{r*\ 395}#)))
+                                                     (let ((#{w**\ 406}#
                                                              
(#{make-binding-wrap\ 148}#
-                                                               (list #{id\ 
387}#)
-                                                               #{l\ 390}#
-                                                               #{w*\ 382}#)))
+                                                               (list #{id\ 
401}#)
+                                                               #{l\ 404}#
+                                                               #{w*\ 396}#)))
                                                        (#{expand-opt\ 329}#
-                                                         #{req\ 375}#
-                                                         (cdr #{opt\ 376}#)
-                                                         #{rest\ 377}#
-                                                         #{kw\ 378}#
-                                                         #{body\ 379}#
-                                                         (cons #{v\ 389}#
-                                                               #{vars\ 380}#)
-                                                         #{r**\ 391}#
-                                                         #{w**\ 392}#
+                                                         #{req\ 388}#
+                                                         (cdr #{opt\ 389}#)
+                                                         #{rest\ 390}#
+                                                         #{kw\ 391}#
+                                                         #{pred\ 392}#
+                                                         #{body\ 393}#
+                                                         (cons #{v\ 403}#
+                                                               #{vars\ 394}#)
+                                                         #{r**\ 405}#
+                                                         #{w**\ 406}#
                                                          (cons (syntax->datum
-                                                                 #{id\ 387}#)
-                                                               #{out\ 383}#)
+                                                                 #{id\ 401}#)
+                                                               #{out\ 397}#)
                                                          (cons (#{chi\ 167}#
-                                                                 #{i\ 388}#
-                                                                 #{r*\ 381}#
-                                                                 #{w*\ 382}#
+                                                                 #{i\ 402}#
+                                                                 #{r*\ 395}#
+                                                                 #{w*\ 396}#
                                                                  #{mod\ 325}#)
-                                                               #{inits\ 
384}#)))))))
-                                             #{tmp\ 386}#)
+                                                               #{inits\ 
398}#)))))))
+                                             #{tmp\ 400}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{tmp\ 385}#)))
+                                        #{tmp\ 399}#)))
                                   ($sc-dispatch
-                                    #{tmp\ 385}#
+                                    #{tmp\ 399}#
                                     '(any any))))
-                               (car #{opt\ 376}#))
-                              (if #{rest\ 377}#
-                                (let ((#{v\ 393}# (#{gen-var\ 181}#
-                                                    #{rest\ 377}#)))
-                                  (let ((#{l\ 394}# (#{gen-labels\ 137}#
-                                                      (list #{v\ 393}#))))
-                                    (let ((#{r*\ 395}#
+                               (car #{opt\ 389}#))
+                              (if #{rest\ 390}#
+                                (let ((#{v\ 407}# (#{gen-var\ 181}#
+                                                    #{rest\ 390}#)))
+                                  (let ((#{l\ 408}# (#{gen-labels\ 137}#
+                                                      (list #{v\ 407}#))))
+                                    (let ((#{r*\ 409}#
                                             (#{extend-var-env\ 126}#
-                                              #{l\ 394}#
-                                              (list #{v\ 393}#)
-                                              #{r*\ 381}#)))
-                                      (let ((#{w*\ 396}#
+                                              #{l\ 408}#
+                                              (list #{v\ 407}#)
+                                              #{r*\ 395}#)))
+                                      (let ((#{w*\ 410}#
                                               (#{make-binding-wrap\ 148}#
-                                                (list #{rest\ 377}#)
-                                                #{l\ 394}#
-                                                #{w*\ 382}#)))
+                                                (list #{rest\ 390}#)
+                                                #{l\ 408}#
+                                                #{w*\ 396}#)))
                                         (#{expand-kw\ 330}#
-                                          #{req\ 375}#
-                                          (if (pair? #{out\ 383}#)
-                                            (reverse #{out\ 383}#)
+                                          #{req\ 388}#
+                                          (if (pair? #{out\ 397}#)
+                                            (reverse #{out\ 397}#)
                                             #f)
-                                          (syntax->datum #{rest\ 377}#)
-                                          (if (pair? #{kw\ 378}#)
-                                            (cdr #{kw\ 378}#)
-                                            #{kw\ 378}#)
-                                          #{body\ 379}#
-                                          (cons #{v\ 393}# #{vars\ 380}#)
-                                          #{r*\ 395}#
-                                          #{w*\ 396}#
-                                          (if (pair? #{kw\ 378}#)
-                                            (car #{kw\ 378}#)
+                                          (syntax->datum #{rest\ 390}#)
+                                          (if (pair? #{kw\ 391}#)
+                                            (cdr #{kw\ 391}#)
+                                            #{kw\ 391}#)
+                                          #{pred\ 392}#
+                                          #{body\ 393}#
+                                          (cons #{v\ 407}# #{vars\ 394}#)
+                                          #{r*\ 409}#
+                                          #{w*\ 410}#
+                                          (if (pair? #{kw\ 391}#)
+                                            (car #{kw\ 391}#)
                                             #f)
                                           '()
-                                          #{inits\ 384}#)))))
+                                          #{inits\ 398}#)))))
                                 (#{expand-kw\ 330}#
-                                  #{req\ 375}#
-                                  (if (pair? #{out\ 383}#)
-                                    (reverse #{out\ 383}#)
+                                  #{req\ 388}#
+                                  (if (pair? #{out\ 397}#)
+                                    (reverse #{out\ 397}#)
                                     #f)
                                   #f
-                                  (if (pair? #{kw\ 378}#)
-                                    (cdr #{kw\ 378}#)
-                                    #{kw\ 378}#)
-                                  #{body\ 379}#
-                                  #{vars\ 380}#
-                                  #{r*\ 381}#
-                                  #{w*\ 382}#
-                                  (if (pair? #{kw\ 378}#) (car #{kw\ 378}#) #f)
+                                  (if (pair? #{kw\ 391}#)
+                                    (cdr #{kw\ 391}#)
+                                    #{kw\ 391}#)
+                                  #{pred\ 392}#
+                                  #{body\ 393}#
+                                  #{vars\ 394}#
+                                  #{r*\ 395}#
+                                  #{w*\ 396}#
+                                  (if (pair? #{kw\ 391}#) (car #{kw\ 391}#) #f)
                                   '()
-                                  #{inits\ 384}#)))))
+                                  #{inits\ 398}#)))))
                         (#{expand-req\ 328}#
-                          (lambda (#{req\ 397}#
-                                   #{opt\ 398}#
-                                   #{rest\ 399}#
-                                   #{kw\ 400}#
-                                   #{body\ 401}#)
-                            (let ((#{vars\ 402}#
-                                    (map #{gen-var\ 181}# #{req\ 397}#))
-                                  (#{labels\ 403}#
-                                    (#{gen-labels\ 137}# #{req\ 397}#)))
-                              (let ((#{r*\ 404}#
+                          (lambda (#{req\ 411}#
+                                   #{opt\ 412}#
+                                   #{rest\ 413}#
+                                   #{kw\ 414}#
+                                   #{pred\ 415}#
+                                   #{body\ 416}#)
+                            (let ((#{vars\ 417}#
+                                    (map #{gen-var\ 181}# #{req\ 411}#))
+                                  (#{labels\ 418}#
+                                    (#{gen-labels\ 137}# #{req\ 411}#)))
+                              (let ((#{r*\ 419}#
                                       (#{extend-var-env\ 126}#
-                                        #{labels\ 403}#
-                                        #{vars\ 402}#
+                                        #{labels\ 418}#
+                                        #{vars\ 417}#
                                         #{r\ 322}#))
-                                    (#{w*\ 405}#
+                                    (#{w*\ 420}#
                                       (#{make-binding-wrap\ 148}#
-                                        #{req\ 397}#
-                                        #{labels\ 403}#
+                                        #{req\ 411}#
+                                        #{labels\ 418}#
                                         #{w\ 323}#)))
                                 (#{expand-opt\ 329}#
-                                  (map syntax->datum #{req\ 397}#)
-                                  #{opt\ 398}#
-                                  #{rest\ 399}#
-                                  #{kw\ 400}#
-                                  #{body\ 401}#
-                                  (reverse #{vars\ 402}#)
-                                  #{r*\ 404}#
-                                  #{w*\ 405}#
+                                  (map syntax->datum #{req\ 411}#)
+                                  #{opt\ 412}#
+                                  #{rest\ 413}#
+                                  #{kw\ 414}#
+                                  #{pred\ 415}#
+                                  #{body\ 416}#
+                                  (reverse #{vars\ 417}#)
+                                  #{r*\ 419}#
+                                  #{w*\ 420}#
                                   '()
                                   '()))))))
-                 ((lambda (#{tmp\ 406}#)
-                    ((lambda (#{tmp\ 407}#)
-                       (if #{tmp\ 407}#
-                         (apply (lambda () (values #f #f)) #{tmp\ 407}#)
-                         ((lambda (#{tmp\ 408}#)
-                            (if #{tmp\ 408}#
-                              (apply (lambda (#{args\ 409}#
-                                              #{e1\ 410}#
-                                              #{e2\ 411}#
-                                              #{args*\ 412}#
-                                              #{e1*\ 413}#
-                                              #{e2*\ 414}#)
+                 ((lambda (#{tmp\ 421}#)
+                    ((lambda (#{tmp\ 422}#)
+                       (if #{tmp\ 422}#
+                         (apply (lambda () (values #f #f)) #{tmp\ 422}#)
+                         ((lambda (#{tmp\ 423}#)
+                            (if #{tmp\ 423}#
+                              (apply (lambda (#{args\ 424}#
+                                              #{e1\ 425}#
+                                              #{e2\ 426}#
+                                              #{args*\ 427}#
+                                              #{e1*\ 428}#
+                                              #{e2*\ 429}#)
                                        (call-with-values
                                          (lambda ()
                                            (#{get-formals\ 326}#
-                                             #{args\ 409}#))
-                                         (lambda (#{req\ 415}#
-                                                  #{opt\ 416}#
-                                                  #{rest\ 417}#
-                                                  #{kw\ 418}#)
+                                             #{args\ 424}#))
+                                         (lambda (#{req\ 430}#
+                                                  #{opt\ 431}#
+                                                  #{rest\ 432}#
+                                                  #{kw\ 433}#
+                                                  #{pred\ 434}#)
                                            (call-with-values
                                              (lambda ()
                                                (#{expand-req\ 328}#
-                                                 #{req\ 415}#
-                                                 #{opt\ 416}#
-                                                 #{rest\ 417}#
-                                                 #{kw\ 418}#
-                                                 (cons #{e1\ 410}#
-                                                       #{e2\ 411}#)))
-                                             (lambda (#{docstring\ 420}#
-                                                      #{req\ 421}#
-                                                      #{opt\ 422}#
-                                                      #{rest\ 423}#
-                                                      #{kw\ 424}#
-                                                      #{inits\ 425}#
-                                                      #{vars\ 426}#
-                                                      #{pred\ 427}#
-                                                      #{body\ 428}#)
+                                                 #{req\ 430}#
+                                                 #{opt\ 431}#
+                                                 #{rest\ 432}#
+                                                 #{kw\ 433}#
+                                                 #{pred\ 434}#
+                                                 (cons #{e1\ 425}#
+                                                       #{e2\ 426}#)))
+                                             (lambda (#{docstring\ 436}#
+                                                      #{req\ 437}#
+                                                      #{opt\ 438}#
+                                                      #{rest\ 439}#
+                                                      #{kw\ 440}#
+                                                      #{inits\ 441}#
+                                                      #{vars\ 442}#
+                                                      #{pred\ 443}#
+                                                      #{body\ 444}#)
                                                (call-with-values
                                                  (lambda ()
                                                    (#{chi-lambda-case\ 179}#
@@ -469,132 +509,207 @@
                                                      #{s\ 324}#
                                                      #{mod\ 325}#
                                                      #{get-formals\ 326}#
-                                                     (map (lambda (#{tmp\ 431}#
-                                                                   #{tmp\ 430}#
-                                                                   #{tmp\ 
429}#)
-                                                            (cons #{tmp\ 429}#
-                                                                  (cons #{tmp\ 
430}#
-                                                                        #{tmp\ 
431}#)))
-                                                          #{e2*\ 414}#
-                                                          #{e1*\ 413}#
-                                                          #{args*\ 412}#)))
-                                                 (lambda (#{docstring*\ 433}#
-                                                          #{else*\ 434}#)
+                                                     (map (lambda (#{tmp\ 447}#
+                                                                   #{tmp\ 446}#
+                                                                   #{tmp\ 
445}#)
+                                                            (cons #{tmp\ 445}#
+                                                                  (cons #{tmp\ 
446}#
+                                                                        #{tmp\ 
447}#)))
+                                                          #{e2*\ 429}#
+                                                          #{e1*\ 428}#
+                                                          #{args*\ 427}#)))
+                                                 (lambda (#{docstring*\ 449}#
+                                                          #{else*\ 450}#)
                                                    (values
-                                                     (let ((#{t\ 435}# 
#{docstring\ 420}#))
-                                                       (if #{t\ 435}#
-                                                         #{t\ 435}#
-                                                         #{docstring*\ 433}#))
+                                                     (let ((#{t\ 451}# 
#{docstring\ 436}#))
+                                                       (if #{t\ 451}#
+                                                         #{t\ 451}#
+                                                         #{docstring*\ 449}#))
                                                      (#{build-lambda-case\ 
107}#
                                                        #{s\ 324}#
-                                                       #{req\ 421}#
-                                                       #{opt\ 422}#
-                                                       #{rest\ 423}#
-                                                       #{kw\ 424}#
-                                                       #{inits\ 425}#
-                                                       #{vars\ 426}#
-                                                       #{pred\ 427}#
-                                                       #{body\ 428}#
-                                                       #{else*\ 434}#)))))))))
-                                     #{tmp\ 408}#)
+                                                       #{req\ 437}#
+                                                       #{opt\ 438}#
+                                                       #{rest\ 439}#
+                                                       #{kw\ 440}#
+                                                       #{inits\ 441}#
+                                                       #{vars\ 442}#
+                                                       #{pred\ 443}#
+                                                       #{body\ 444}#
+                                                       #{else*\ 450}#)))))))))
+                                     #{tmp\ 423}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 406}#)))
+                                #{tmp\ 421}#)))
                           ($sc-dispatch
-                            #{tmp\ 406}#
+                            #{tmp\ 421}#
                             '((any any . each-any)
                               .
                               #(each (any any . each-any)))))))
-                     ($sc-dispatch #{tmp\ 406}# (quote ()))))
+                     ($sc-dispatch #{tmp\ 421}# (quote ()))))
                   #{clauses\ 327}#))))
            (#{lambda*-formals\ 178}#
-             (lambda (#{orig-args\ 436}#)
-               (letrec ((#{check\ 441}#
-                          (lambda (#{req\ 442}#
-                                   #{opt\ 443}#
-                                   #{rest\ 444}#
-                                   #{kw\ 445}#)
+             (lambda (#{orig-args\ 452}#)
+               (letrec ((#{check\ 458}#
+                          (lambda (#{req\ 459}#
+                                   #{opt\ 460}#
+                                   #{rest\ 461}#
+                                   #{kw\ 462}#
+                                   #{pred\ 463}#)
                             (if (#{distinct-bound-ids?\ 157}#
                                   (append
-                                    #{req\ 442}#
-                                    (map car #{opt\ 443}#)
-                                    (if #{rest\ 444}#
-                                      (list #{rest\ 444}#)
+                                    #{req\ 459}#
+                                    (map car #{opt\ 460}#)
+                                    (if #{rest\ 461}#
+                                      (list #{rest\ 461}#)
                                       '())
-                                    (if (pair? #{kw\ 445}#)
-                                      (map cadr (cdr #{kw\ 445}#))
+                                    (if (pair? #{kw\ 462}#)
+                                      (map cadr (cdr #{kw\ 462}#))
                                       '())))
                               (values
-                                #{req\ 442}#
-                                #{opt\ 443}#
-                                #{rest\ 444}#
-                                #{kw\ 445}#)
+                                #{req\ 459}#
+                                #{opt\ 460}#
+                                #{rest\ 461}#
+                                #{kw\ 462}#
+                                #{pred\ 463}#)
                               (syntax-violation
                                 'lambda*
                                 "duplicate identifier in argument list"
-                                #{orig-args\ 436}#))))
-                        (#{rest\ 440}#
-                          (lambda (#{args\ 446}#
-                                   #{req\ 447}#
-                                   #{opt\ 448}#
-                                   #{kw\ 449}#)
-                            ((lambda (#{tmp\ 450}#)
-                               ((lambda (#{tmp\ 451}#)
-                                  (if (if #{tmp\ 451}#
-                                        (apply (lambda (#{r\ 452}#)
-                                                 (#{id?\ 131}# #{r\ 452}#))
-                                               #{tmp\ 451}#)
+                                #{orig-args\ 452}#))))
+                        (#{rest\ 457}#
+                          (lambda (#{args\ 464}#
+                                   #{req\ 465}#
+                                   #{opt\ 466}#
+                                   #{kw\ 467}#
+                                   #{pred\ 468}#)
+                            ((lambda (#{tmp\ 469}#)
+                               ((lambda (#{tmp\ 470}#)
+                                  (if (if #{tmp\ 470}#
+                                        (apply (lambda (#{r\ 471}#)
+                                                 (#{id?\ 131}# #{r\ 471}#))
+                                               #{tmp\ 470}#)
                                         #f)
-                                    (apply (lambda (#{r\ 453}#)
-                                             (#{check\ 441}#
-                                               #{req\ 447}#
-                                               #{opt\ 448}#
-                                               #{r\ 453}#
-                                               #{kw\ 449}#))
-                                           #{tmp\ 451}#)
-                                    ((lambda (#{else\ 454}#)
+                                    (apply (lambda (#{r\ 472}#)
+                                             (#{check\ 458}#
+                                               #{req\ 465}#
+                                               #{opt\ 466}#
+                                               #{r\ 472}#
+                                               #{kw\ 467}#
+                                               #{pred\ 468}#))
+                                           #{tmp\ 470}#)
+                                    ((lambda (#{else\ 473}#)
                                        (syntax-violation
                                          'lambda*
                                          "invalid rest argument"
-                                         #{orig-args\ 436}#
-                                         #{args\ 446}#))
-                                     #{tmp\ 450}#)))
-                                (list #{tmp\ 450}#)))
-                             #{args\ 446}#)))
-                        (#{key\ 439}#
-                          (lambda (#{args\ 455}#
-                                   #{req\ 456}#
-                                   #{opt\ 457}#
-                                   #{rkey\ 458}#)
-                            ((lambda (#{tmp\ 459}#)
-                               ((lambda (#{tmp\ 460}#)
-                                  (if #{tmp\ 460}#
+                                         #{orig-args\ 452}#
+                                         #{args\ 464}#))
+                                     #{tmp\ 469}#)))
+                                (list #{tmp\ 469}#)))
+                             #{args\ 464}#)))
+                        (#{pred\ 456}#
+                          (lambda (#{args\ 474}#
+                                   #{req\ 475}#
+                                   #{opt\ 476}#
+                                   #{kw\ 477}#)
+                            ((lambda (#{tmp\ 478}#)
+                               ((lambda (#{tmp\ 479}#)
+                                  (if #{tmp\ 479}#
+                                    (apply (lambda (#{x\ 480}#)
+                                             (#{check\ 458}#
+                                               #{req\ 475}#
+                                               #{opt\ 476}#
+                                               #f
+                                               #{kw\ 477}#
+                                               #{x\ 480}#))
+                                           #{tmp\ 479}#)
+                                    ((lambda (#{tmp\ 481}#)
+                                       (if (if #{tmp\ 481}#
+                                             (apply (lambda (#{x\ 482}#
+                                                             #{a\ 483}#
+                                                             #{b\ 484}#)
+                                                      (eq? (syntax->datum
+                                                             #{a\ 483}#
+                                                             #:rest)))
+                                                    #{tmp\ 481}#)
+                                             #f)
+                                         (apply (lambda (#{x\ 485}#
+                                                         #{a\ 486}#
+                                                         #{b\ 487}#)
+                                                  (#{rest\ 457}#
+                                                    #{b\ 487}#
+                                                    #{req\ 475}#
+                                                    #{opt\ 476}#
+                                                    #f
+                                                    #{kw\ 477}#
+                                                    #{x\ 485}#))
+                                                #{tmp\ 481}#)
+                                         ((lambda (#{tmp\ 488}#)
+                                            (if (if #{tmp\ 488}#
+                                                  (apply (lambda (#{x\ 489}#
+                                                                  #{b\ 490}#)
+                                                           (#{id?\ 131}#
+                                                             #{b\ 490}#))
+                                                         #{tmp\ 488}#)
+                                                  #f)
+                                              (apply (lambda (#{x\ 491}#
+                                                              #{b\ 492}#)
+                                                       (#{rest\ 457}#
+                                                         #{b\ 492}#
+                                                         #{req\ 475}#
+                                                         #{opt\ 476}#
+                                                         #f
+                                                         #{kw\ 477}#
+                                                         #{x\ 491}#))
+                                                     #{tmp\ 488}#)
+                                              ((lambda (#{else\ 493}#)
+                                                 (syntax-violation
+                                                   'lambda*
+                                                   "invalid argument list 
following #:predicate"
+                                                   #{orig-args\ 452}#
+                                                   #{args\ 474}#))
+                                               #{tmp\ 478}#)))
+                                          ($sc-dispatch
+                                            #{tmp\ 478}#
+                                            '(any . any)))))
+                                     ($sc-dispatch
+                                       #{tmp\ 478}#
+                                       '(any any any)))))
+                                ($sc-dispatch #{tmp\ 478}# (quote (any)))))
+                             #{args\ 474}#)))
+                        (#{key\ 455}#
+                          (lambda (#{args\ 494}#
+                                   #{req\ 495}#
+                                   #{opt\ 496}#
+                                   #{rkey\ 497}#)
+                            ((lambda (#{tmp\ 498}#)
+                               ((lambda (#{tmp\ 499}#)
+                                  (if #{tmp\ 499}#
                                     (apply (lambda ()
-                                             (#{check\ 441}#
-                                               #{req\ 456}#
-                                               #{opt\ 457}#
+                                             (#{check\ 458}#
+                                               #{req\ 495}#
+                                               #{opt\ 496}#
                                                #f
                                                (cons #f
-                                                     (reverse #{rkey\ 458}#))))
-                                           #{tmp\ 460}#)
-                                    ((lambda (#{tmp\ 461}#)
-                                       (if (if #{tmp\ 461}#
-                                             (apply (lambda (#{a\ 462}#
-                                                             #{b\ 463}#)
+                                                     (reverse #{rkey\ 497}#))
+                                               #f))
+                                           #{tmp\ 499}#)
+                                    ((lambda (#{tmp\ 500}#)
+                                       (if (if #{tmp\ 500}#
+                                             (apply (lambda (#{a\ 501}#
+                                                             #{b\ 502}#)
                                                       (#{id?\ 131}#
-                                                        #{a\ 462}#))
-                                                    #{tmp\ 461}#)
+                                                        #{a\ 501}#))
+                                                    #{tmp\ 500}#)
                                              #f)
-                                         (apply (lambda (#{a\ 464}# #{b\ 465}#)
-                                                  ((lambda (#{tmp\ 466}#)
-                                                     ((lambda (#{k\ 467}#)
-                                                        (#{key\ 439}#
-                                                          #{b\ 465}#
-                                                          #{req\ 456}#
-                                                          #{opt\ 457}#
-                                                          (cons (cons #{k\ 
467}#
-                                                                      (cons 
#{a\ 464}#
+                                         (apply (lambda (#{a\ 503}# #{b\ 504}#)
+                                                  ((lambda (#{tmp\ 505}#)
+                                                     ((lambda (#{k\ 506}#)
+                                                        (#{key\ 455}#
+                                                          #{b\ 504}#
+                                                          #{req\ 495}#
+                                                          #{opt\ 496}#
+                                                          (cons (cons #{k\ 
506}#
+                                                                      (cons 
#{a\ 503}#
                                                                             
'(#(syntax-object
                                                                                
 #f
                                                                                
 ((top)
@@ -628,6 +743,7 @@
                                                                                
      "i"))
                                                                                
  #(ribcage
                                                                                
    (check rest
+                                                                               
           pred
                                                                                
           key
                                                                                
           opt
                                                                                
           req)
@@ -635,11 +751,13 @@
                                                                                
     (top)
                                                                                
     (top)
                                                                                
     (top)
+                                                                               
     (top)
                                                                                
     (top))
                                                                                
    ("i"
                                                                                
     "i"
                                                                                
     "i"
                                                                                
     "i"
+                                                                               
     "i"
                                                                                
     "i"))
                                                                                
  #(ribcage
                                                                                
    #(orig-args)
@@ -1006,222 +1124,278 @@
                                                                                
     "i")))
                                                                                
 (hygiene
                                                                                
   guile)))))
-                                                                #{rkey\ 
458}#)))
-                                                      #{tmp\ 466}#))
+                                                                #{rkey\ 
497}#)))
+                                                      #{tmp\ 505}#))
                                                    (symbol->keyword
                                                      (syntax->datum
-                                                       #{a\ 464}#))))
-                                                #{tmp\ 461}#)
-                                         ((lambda (#{tmp\ 468}#)
-                                            (if (if #{tmp\ 468}#
-                                                  (apply (lambda (#{a\ 469}#
-                                                                  #{init\ 470}#
-                                                                  #{b\ 471}#)
+                                                       #{a\ 503}#))))
+                                                #{tmp\ 500}#)
+                                         ((lambda (#{tmp\ 507}#)
+                                            (if (if #{tmp\ 507}#
+                                                  (apply (lambda (#{a\ 508}#
+                                                                  #{init\ 509}#
+                                                                  #{b\ 510}#)
                                                            (#{id?\ 131}#
-                                                             #{a\ 469}#))
-                                                         #{tmp\ 468}#)
+                                                             #{a\ 508}#))
+                                                         #{tmp\ 507}#)
                                                   #f)
-                                              (apply (lambda (#{a\ 472}#
-                                                              #{init\ 473}#
-                                                              #{b\ 474}#)
-                                                       ((lambda (#{tmp\ 475}#)
-                                                          ((lambda (#{k\ 476}#)
-                                                             (#{key\ 439}#
-                                                               #{b\ 474}#
-                                                               #{req\ 456}#
-                                                               #{opt\ 457}#
-                                                               (cons (list 
#{k\ 476}#
-                                                                           
#{a\ 472}#
-                                                                           
#{init\ 473}#)
-                                                                     #{rkey\ 
458}#)))
-                                                           #{tmp\ 475}#))
+                                              (apply (lambda (#{a\ 511}#
+                                                              #{init\ 512}#
+                                                              #{b\ 513}#)
+                                                       ((lambda (#{tmp\ 514}#)
+                                                          ((lambda (#{k\ 515}#)
+                                                             (#{key\ 455}#
+                                                               #{b\ 513}#
+                                                               #{req\ 495}#
+                                                               #{opt\ 496}#
+                                                               (cons (list 
#{k\ 515}#
+                                                                           
#{a\ 511}#
+                                                                           
#{init\ 512}#)
+                                                                     #{rkey\ 
497}#)))
+                                                           #{tmp\ 514}#))
                                                         (symbol->keyword
                                                           (syntax->datum
-                                                            #{a\ 472}#))))
-                                                     #{tmp\ 468}#)
-                                              ((lambda (#{tmp\ 477}#)
-                                                 (if (if #{tmp\ 477}#
-                                                       (apply (lambda (#{a\ 
478}#
-                                                                       #{init\ 
479}#
-                                                                       #{k\ 
480}#
-                                                                       #{b\ 
481}#)
+                                                            #{a\ 511}#))))
+                                                     #{tmp\ 507}#)
+                                              ((lambda (#{tmp\ 516}#)
+                                                 (if (if #{tmp\ 516}#
+                                                       (apply (lambda (#{a\ 
517}#
+                                                                       #{init\ 
518}#
+                                                                       #{k\ 
519}#
+                                                                       #{b\ 
520}#)
                                                                 (if (#{id?\ 
131}#
-                                                                      #{a\ 
478}#)
+                                                                      #{a\ 
517}#)
                                                                   (keyword?
                                                                     
(syntax->datum
-                                                                      #{k\ 
480}#))
+                                                                      #{k\ 
519}#))
                                                                   #f))
-                                                              #{tmp\ 477}#)
+                                                              #{tmp\ 516}#)
                                                        #f)
-                                                   (apply (lambda (#{a\ 482}#
-                                                                   #{init\ 
483}#
-                                                                   #{k\ 484}#
-                                                                   #{b\ 485}#)
-                                                            (#{key\ 439}#
-                                                              #{b\ 485}#
-                                                              #{req\ 456}#
-                                                              #{opt\ 457}#
-                                                              (cons (list #{k\ 
484}#
-                                                                          #{a\ 
482}#
-                                                                          
#{init\ 483}#)
-                                                                    #{rkey\ 
458}#)))
-                                                          #{tmp\ 477}#)
-                                                   ((lambda (#{tmp\ 486}#)
-                                                      (if (if #{tmp\ 486}#
-                                                            (apply (lambda 
(#{aok\ 487}#)
+                                                   (apply (lambda (#{a\ 521}#
+                                                                   #{init\ 
522}#
+                                                                   #{k\ 523}#
+                                                                   #{b\ 524}#)
+                                                            (#{key\ 455}#
+                                                              #{b\ 524}#
+                                                              #{req\ 495}#
+                                                              #{opt\ 496}#
+                                                              (cons (list #{k\ 
523}#
+                                                                          #{a\ 
521}#
+                                                                          
#{init\ 522}#)
+                                                                    #{rkey\ 
497}#)))
+                                                          #{tmp\ 516}#)
+                                                   ((lambda (#{tmp\ 525}#)
+                                                      (if (if #{tmp\ 525}#
+                                                            (apply (lambda 
(#{aok\ 526}#)
                                                                      (eq? 
(syntax->datum
-                                                                            
#{aok\ 487}#)
+                                                                            
#{aok\ 526}#)
                                                                           
#:allow-other-keys))
-                                                                   #{tmp\ 
486}#)
+                                                                   #{tmp\ 
525}#)
                                                             #f)
-                                                        (apply (lambda (#{aok\ 
488}#)
-                                                                 (#{check\ 
441}#
-                                                                   #{req\ 456}#
-                                                                   #{opt\ 457}#
+                                                        (apply (lambda (#{aok\ 
527}#)
+                                                                 (#{check\ 
458}#
+                                                                   #{req\ 495}#
+                                                                   #{opt\ 496}#
                                                                    #f
                                                                    (cons #t
                                                                          
(reverse
-                                                                           
#{rkey\ 458}#))))
-                                                               #{tmp\ 486}#)
-                                                        ((lambda (#{tmp\ 489}#)
-                                                           (if (if #{tmp\ 489}#
-                                                                 (apply 
(lambda (#{aok\ 490}#
-                                                                               
  #{a\ 491}#
-                                                                               
  #{b\ 492}#)
+                                                                           
#{rkey\ 497}#))
+                                                                   #f))
+                                                               #{tmp\ 525}#)
+                                                        ((lambda (#{tmp\ 528}#)
+                                                           (if (if #{tmp\ 528}#
+                                                                 (apply 
(lambda (#{aok\ 529}#
+                                                                               
  #{a\ 530}#
+                                                                               
  #{b\ 531}#)
                                                                           (if 
(eq? (syntax->datum
-                                                                               
      #{aok\ 490}#)
+                                                                               
      #{aok\ 529}#)
                                                                                
    #:allow-other-keys)
                                                                             
(eq? (syntax->datum
-                                                                               
    #{a\ 491}#)
-                                                                               
  #:rest)
+                                                                               
    #{a\ 530}#)
+                                                                               
  #:predicate)
                                                                             
#f))
-                                                                        #{tmp\ 
489}#)
+                                                                        #{tmp\ 
528}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{aok\ 493}#
-                                                                             
#{a\ 494}#
-                                                                             
#{b\ 495}#)
-                                                                      (#{rest\ 
440}#
-                                                                        #{b\ 
495}#
-                                                                        #{req\ 
456}#
-                                                                        #{opt\ 
457}#
+                                                             (apply (lambda 
(#{aok\ 532}#
+                                                                             
#{a\ 533}#
+                                                                             
#{b\ 534}#)
+                                                                      (#{pred\ 
456}#
+                                                                        #{b\ 
534}#
+                                                                        #{req\ 
495}#
+                                                                        #{opt\ 
496}#
                                                                         (cons 
#t
                                                                               
(reverse
-                                                                               
 #{rkey\ 458}#))))
-                                                                    #{tmp\ 
489}#)
-                                                             ((lambda (#{tmp\ 
496}#)
-                                                                (if (if #{tmp\ 
496}#
-                                                                      (apply 
(lambda (#{aok\ 497}#
-                                                                               
       #{r\ 498}#)
+                                                                               
 #{rkey\ 497}#))))
+                                                                    #{tmp\ 
528}#)
+                                                             ((lambda (#{tmp\ 
535}#)
+                                                                (if (if #{tmp\ 
535}#
+                                                                      (apply 
(lambda (#{aok\ 536}#
+                                                                               
       #{a\ 537}#
+                                                                               
       #{b\ 538}#)
                                                                                
(if (eq? (syntax->datum
-                                                                               
           #{aok\ 497}#)
+                                                                               
           #{aok\ 536}#)
                                                                                
         #:allow-other-keys)
-                                                                               
  (#{id?\ 131}#
-                                                                               
    #{r\ 498}#)
+                                                                               
  (eq? (syntax->datum
+                                                                               
         #{a\ 537}#)
+                                                                               
       #:rest)
                                                                                
  #f))
-                                                                             
#{tmp\ 496}#)
+                                                                             
#{tmp\ 535}#)
                                                                       #f)
-                                                                  (apply 
(lambda (#{aok\ 499}#
-                                                                               
   #{r\ 500}#)
-                                                                           
(#{rest\ 440}#
-                                                                             
#{r\ 500}#
-                                                                             
#{req\ 456}#
-                                                                             
#{opt\ 457}#
+                                                                  (apply 
(lambda (#{aok\ 539}#
+                                                                               
   #{a\ 540}#
+                                                                               
   #{b\ 541}#)
+                                                                           
(#{rest\ 457}#
+                                                                             
#{b\ 541}#
+                                                                             
#{req\ 495}#
+                                                                             
#{opt\ 496}#
                                                                              
(cons #t
                                                                                
    (reverse
-                                                                               
      #{rkey\ 458}#))))
-                                                                         
#{tmp\ 496}#)
-                                                                  ((lambda 
(#{tmp\ 501}#)
-                                                                     (if (if 
#{tmp\ 501}#
-                                                                           
(apply (lambda (#{a\ 502}#
-                                                                               
            #{b\ 503}#)
-                                                                               
     (eq? (syntax->datum
-                                                                               
            #{a\ 502}#)
-                                                                               
          #:rest))
-                                                                               
   #{tmp\ 501}#)
+                                                                               
      #{rkey\ 497}#))))
+                                                                         
#{tmp\ 535}#)
+                                                                  ((lambda 
(#{tmp\ 542}#)
+                                                                     (if (if 
#{tmp\ 542}#
+                                                                           
(apply (lambda (#{aok\ 543}#
+                                                                               
            #{r\ 544}#)
+                                                                               
     (if (eq? (syntax->datum
+                                                                               
                #{aok\ 543}#)
+                                                                               
              #:allow-other-keys)
+                                                                               
       (#{id?\ 131}#
+                                                                               
         #{r\ 544}#)
+                                                                               
       #f))
+                                                                               
   #{tmp\ 542}#)
                                                                            #f)
-                                                                       (apply 
(lambda (#{a\ 504}#
-                                                                               
        #{b\ 505}#)
-                                                                               
 (#{rest\ 440}#
-                                                                               
   #{b\ 505}#
-                                                                               
   #{req\ 456}#
-                                                                               
   #{opt\ 457}#
-                                                                               
   (cons #f
+                                                                       (apply 
(lambda (#{aok\ 545}#
+                                                                               
        #{r\ 546}#)
+                                                                               
 (#{rest\ 457}#
+                                                                               
   #{r\ 546}#
+                                                                               
   #{req\ 495}#
+                                                                               
   #{opt\ 496}#
+                                                                               
   (cons #t
                                                                                
         (reverse
-                                                                               
           #{rkey\ 458}#))))
-                                                                              
#{tmp\ 501}#)
-                                                                       
((lambda (#{tmp\ 506}#)
-                                                                          (if 
(if #{tmp\ 506}#
-                                                                               
 (apply (lambda (#{r\ 507}#)
-                                                                               
          (#{id?\ 131}#
-                                                                               
            #{r\ 507}#))
-                                                                               
        #{tmp\ 506}#)
+                                                                               
           #{rkey\ 497}#))))
+                                                                              
#{tmp\ 542}#)
+                                                                       
((lambda (#{tmp\ 547}#)
+                                                                          (if 
(if #{tmp\ 547}#
+                                                                               
 (apply (lambda (#{a\ 548}#
+                                                                               
                 #{b\ 549}#)
+                                                                               
          (eq? (syntax->datum
+                                                                               
                 #{a\ 548}#)
+                                                                               
               #:predicate))
+                                                                               
        #{tmp\ 547}#)
                                                                                
 #f)
-                                                                            
(apply (lambda (#{r\ 508}#)
-                                                                               
      (#{rest\ 440}#
-                                                                               
        #{r\ 508}#
-                                                                               
        #{req\ 456}#
-                                                                               
        #{opt\ 457}#
+                                                                            
(apply (lambda (#{a\ 550}#
+                                                                               
             #{b\ 551}#)
+                                                                               
      (#{pred\ 456}#
+                                                                               
        #{b\ 551}#
+                                                                               
        #{req\ 495}#
+                                                                               
        #{opt\ 496}#
                                                                                
        (cons #f
                                                                                
              (reverse
-                                                                               
                #{rkey\ 458}#))))
-                                                                               
    #{tmp\ 506}#)
-                                                                            
((lambda (#{else\ 509}#)
-                                                                               
(syntax-violation
-                                                                               
  'lambda*
-                                                                               
  "invalid keyword argument list"
-                                                                               
  #{orig-args\ 436}#
-                                                                               
  #{args\ 455}#))
-                                                                             
#{tmp\ 459}#)))
-                                                                        (list 
#{tmp\ 459}#))))
+                                                                               
                #{rkey\ 497}#))))
+                                                                               
    #{tmp\ 547}#)
+                                                                            
((lambda (#{tmp\ 552}#)
+                                                                               
(if (if #{tmp\ 552}#
+                                                                               
      (apply (lambda (#{a\ 553}#
+                                                                               
                      #{b\ 554}#)
+                                                                               
               (eq? (syntax->datum
+                                                                               
                      #{a\ 553}#)
+                                                                               
                    #:rest))
+                                                                               
             #{tmp\ 552}#)
+                                                                               
      #f)
+                                                                               
  (apply (lambda (#{a\ 555}#
+                                                                               
                  #{b\ 556}#)
+                                                                               
           (#{rest\ 457}#
+                                                                               
             #{b\ 556}#
+                                                                               
             #{req\ 495}#
+                                                                               
             #{opt\ 496}#
+                                                                               
             (cons #f
+                                                                               
                   (reverse
+                                                                               
                     #{rkey\ 497}#))
+                                                                               
             #f))
+                                                                               
         #{tmp\ 552}#)
+                                                                               
  ((lambda (#{tmp\ 557}#)
+                                                                               
     (if (if #{tmp\ 557}#
+                                                                               
           (apply (lambda (#{r\ 558}#)
+                                                                               
                    (#{id?\ 131}#
+                                                                               
                      #{r\ 558}#))
+                                                                               
                  #{tmp\ 557}#)
+                                                                               
           #f)
+                                                                               
       (apply (lambda (#{r\ 559}#)
+                                                                               
                (#{rest\ 457}#
+                                                                               
                  #{r\ 559}#
+                                                                               
                  #{req\ 495}#
+                                                                               
                  #{opt\ 496}#
+                                                                               
                  (cons #f
+                                                                               
                        (reverse
+                                                                               
                          #{rkey\ 497}#))
+                                                                               
                  #f))
+                                                                               
              #{tmp\ 557}#)
+                                                                               
       ((lambda (#{else\ 560}#)
+                                                                               
          (syntax-violation
+                                                                               
            'lambda*
+                                                                               
            "invalid keyword argument list"
+                                                                               
            #{orig-args\ 452}#
+                                                                               
            #{args\ 494}#))
+                                                                               
        #{tmp\ 498}#)))
+                                                                               
   (list #{tmp\ 498}#))))
+                                                                             
($sc-dispatch
+                                                                               
#{tmp\ 498}#
+                                                                               
'(any any)))))
+                                                                        
($sc-dispatch
+                                                                          
#{tmp\ 498}#
+                                                                          
'(any .
+                                                                               
 any)))))
                                                                    
($sc-dispatch
-                                                                     #{tmp\ 
459}#
-                                                                     '(any 
any)))))
+                                                                     #{tmp\ 
498}#
+                                                                     '(any .
+                                                                           
any)))))
                                                               ($sc-dispatch
-                                                                #{tmp\ 459}#
-                                                                '(any .
+                                                                #{tmp\ 498}#
+                                                                '(any any
                                                                       any)))))
                                                          ($sc-dispatch
-                                                           #{tmp\ 459}#
-                                                           '(any any any)))))
+                                                           #{tmp\ 498}#
+                                                           '(any any . any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 459}#
+                                                      #{tmp\ 498}#
                                                       '(any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 459}#
+                                                 #{tmp\ 498}#
                                                  '((any any any) . any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 459}#
+                                            #{tmp\ 498}#
                                             '((any any) . any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 459}#
+                                       #{tmp\ 498}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 459}# (quote ()))))
-                             #{args\ 455}#)))
-                        (#{opt\ 438}#
-                          (lambda (#{args\ 510}# #{req\ 511}# #{ropt\ 512}#)
-                            ((lambda (#{tmp\ 513}#)
-                               ((lambda (#{tmp\ 514}#)
-                                  (if #{tmp\ 514}#
+                                ($sc-dispatch #{tmp\ 498}# (quote ()))))
+                             #{args\ 494}#)))
+                        (#{opt\ 454}#
+                          (lambda (#{args\ 561}# #{req\ 562}# #{ropt\ 563}#)
+                            ((lambda (#{tmp\ 564}#)
+                               ((lambda (#{tmp\ 565}#)
+                                  (if #{tmp\ 565}#
                                     (apply (lambda ()
-                                             (#{check\ 441}#
-                                               #{req\ 511}#
-                                               (reverse #{ropt\ 512}#)
+                                             (#{check\ 458}#
+                                               #{req\ 562}#
+                                               (reverse #{ropt\ 563}#)
                                                #f
-                                               '()))
-                                           #{tmp\ 514}#)
-                                    ((lambda (#{tmp\ 515}#)
-                                       (if (if #{tmp\ 515}#
-                                             (apply (lambda (#{a\ 516}#
-                                                             #{b\ 517}#)
+                                               '()
+                                               #f))
+                                           #{tmp\ 565}#)
+                                    ((lambda (#{tmp\ 566}#)
+                                       (if (if #{tmp\ 566}#
+                                             (apply (lambda (#{a\ 567}#
+                                                             #{b\ 568}#)
                                                       (#{id?\ 131}#
-                                                        #{a\ 516}#))
-                                                    #{tmp\ 515}#)
+                                                        #{a\ 567}#))
+                                                    #{tmp\ 566}#)
                                              #f)
-                                         (apply (lambda (#{a\ 518}# #{b\ 519}#)
-                                                  (#{opt\ 438}#
-                                                    #{b\ 519}#
-                                                    #{req\ 511}#
-                                                    (cons (cons #{a\ 518}#
+                                         (apply (lambda (#{a\ 569}# #{b\ 570}#)
+                                                  (#{opt\ 454}#
+                                                    #{b\ 570}#
+                                                    #{req\ 562}#
+                                                    (cons (cons #{a\ 569}#
                                                                 
'(#(syntax-object
                                                                     #f
                                                                     ((top)
@@ -1247,6 +1421,7 @@
                                                                          "i"))
                                                                      #(ribcage
                                                                        (check 
rest
+                                                                              
pred
                                                                               
key
                                                                               
opt
                                                                               
req)
@@ -1254,11 +1429,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top)
+                                                                        (top)
                                                                         (top))
                                                                        ("i"
                                                                         "i"
                                                                         "i"
                                                                         "i"
+                                                                        "i"
                                                                         "i"))
                                                                      #(ribcage
                                                                        
#(orig-args)
@@ -1625,328 +1802,375 @@
                                                                         "i")))
                                                                     (hygiene
                                                                       guile))))
-                                                          #{ropt\ 512}#)))
-                                                #{tmp\ 515}#)
-                                         ((lambda (#{tmp\ 520}#)
-                                            (if (if #{tmp\ 520}#
-                                                  (apply (lambda (#{a\ 521}#
-                                                                  #{init\ 522}#
-                                                                  #{b\ 523}#)
+                                                          #{ropt\ 563}#)))
+                                                #{tmp\ 566}#)
+                                         ((lambda (#{tmp\ 571}#)
+                                            (if (if #{tmp\ 571}#
+                                                  (apply (lambda (#{a\ 572}#
+                                                                  #{init\ 573}#
+                                                                  #{b\ 574}#)
                                                            (#{id?\ 131}#
-                                                             #{a\ 521}#))
-                                                         #{tmp\ 520}#)
+                                                             #{a\ 572}#))
+                                                         #{tmp\ 571}#)
                                                   #f)
-                                              (apply (lambda (#{a\ 524}#
-                                                              #{init\ 525}#
-                                                              #{b\ 526}#)
-                                                       (#{opt\ 438}#
-                                                         #{b\ 526}#
-                                                         #{req\ 511}#
-                                                         (cons (list #{a\ 524}#
-                                                                     #{init\ 
525}#)
-                                                               #{ropt\ 512}#)))
-                                                     #{tmp\ 520}#)
-                                              ((lambda (#{tmp\ 527}#)
-                                                 (if (if #{tmp\ 527}#
-                                                       (apply (lambda (#{a\ 
528}#
-                                                                       #{b\ 
529}#)
+                                              (apply (lambda (#{a\ 575}#
+                                                              #{init\ 576}#
+                                                              #{b\ 577}#)
+                                                       (#{opt\ 454}#
+                                                         #{b\ 577}#
+                                                         #{req\ 562}#
+                                                         (cons (list #{a\ 575}#
+                                                                     #{init\ 
576}#)
+                                                               #{ropt\ 563}#)))
+                                                     #{tmp\ 571}#)
+                                              ((lambda (#{tmp\ 578}#)
+                                                 (if (if #{tmp\ 578}#
+                                                       (apply (lambda (#{a\ 
579}#
+                                                                       #{b\ 
580}#)
                                                                 (eq? 
(syntax->datum
-                                                                       #{a\ 
528}#)
+                                                                       #{a\ 
579}#)
                                                                      #:key))
-                                                              #{tmp\ 527}#)
+                                                              #{tmp\ 578}#)
                                                        #f)
-                                                   (apply (lambda (#{a\ 530}#
-                                                                   #{b\ 531}#)
-                                                            (#{key\ 439}#
-                                                              #{b\ 531}#
-                                                              #{req\ 511}#
+                                                   (apply (lambda (#{a\ 581}#
+                                                                   #{b\ 582}#)
+                                                            (#{key\ 455}#
+                                                              #{b\ 582}#
+                                                              #{req\ 562}#
                                                               (reverse
-                                                                #{ropt\ 512}#)
+                                                                #{ropt\ 563}#)
                                                               '()))
-                                                          #{tmp\ 527}#)
-                                                   ((lambda (#{tmp\ 532}#)
-                                                      (if (if #{tmp\ 532}#
-                                                            (apply (lambda 
(#{a\ 533}#
-                                                                            
#{b\ 534}#)
+                                                          #{tmp\ 578}#)
+                                                   ((lambda (#{tmp\ 583}#)
+                                                      (if (if #{tmp\ 583}#
+                                                            (apply (lambda 
(#{a\ 584}#
+                                                                            
#{b\ 585}#)
                                                                      (eq? 
(syntax->datum
-                                                                            
#{a\ 533}#)
-                                                                          
#:rest))
-                                                                   #{tmp\ 
532}#)
+                                                                            
#{a\ 584}#)
+                                                                          
#:predicate))
+                                                                   #{tmp\ 
583}#)
                                                             #f)
-                                                        (apply (lambda (#{a\ 
535}#
-                                                                        #{b\ 
536}#)
-                                                                 (#{rest\ 440}#
-                                                                   #{b\ 536}#
-                                                                   #{req\ 511}#
+                                                        (apply (lambda (#{a\ 
586}#
+                                                                        #{b\ 
587}#)
+                                                                 (#{pred\ 456}#
+                                                                   #{b\ 587}#
+                                                                   #{req\ 562}#
                                                                    (reverse
-                                                                     #{ropt\ 
512}#)
+                                                                     #{ropt\ 
563}#)
                                                                    '()))
-                                                               #{tmp\ 532}#)
-                                                        ((lambda (#{tmp\ 537}#)
-                                                           (if (if #{tmp\ 537}#
-                                                                 (apply 
(lambda (#{r\ 538}#)
-                                                                          
(#{id?\ 131}#
-                                                                            
#{r\ 538}#))
-                                                                        #{tmp\ 
537}#)
+                                                               #{tmp\ 583}#)
+                                                        ((lambda (#{tmp\ 588}#)
+                                                           (if (if #{tmp\ 588}#
+                                                                 (apply 
(lambda (#{a\ 589}#
+                                                                               
  #{b\ 590}#)
+                                                                          (eq? 
(syntax->datum
+                                                                               
  #{a\ 589}#)
+                                                                               
#:rest))
+                                                                        #{tmp\ 
588}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{r\ 539}#)
-                                                                      (#{rest\ 
440}#
-                                                                        #{r\ 
539}#
-                                                                        #{req\ 
511}#
+                                                             (apply (lambda 
(#{a\ 591}#
+                                                                             
#{b\ 592}#)
+                                                                      (#{rest\ 
457}#
+                                                                        #{b\ 
592}#
+                                                                        #{req\ 
562}#
                                                                         
(reverse
-                                                                          
#{ropt\ 512}#)
-                                                                        '()))
-                                                                    #{tmp\ 
537}#)
-                                                             ((lambda (#{else\ 
540}#)
-                                                                
(syntax-violation
-                                                                  'lambda*
-                                                                  "invalid 
optional argument list"
-                                                                  #{orig-args\ 
436}#
-                                                                  #{args\ 
510}#))
-                                                              #{tmp\ 513}#)))
-                                                         (list #{tmp\ 513}#))))
+                                                                          
#{ropt\ 563}#)
+                                                                        '()
+                                                                        #f))
+                                                                    #{tmp\ 
588}#)
+                                                             ((lambda (#{tmp\ 
593}#)
+                                                                (if (if #{tmp\ 
593}#
+                                                                      (apply 
(lambda (#{r\ 594}#)
+                                                                               
(#{id?\ 131}#
+                                                                               
  #{r\ 594}#))
+                                                                             
#{tmp\ 593}#)
+                                                                      #f)
+                                                                  (apply 
(lambda (#{r\ 595}#)
+                                                                           
(#{rest\ 457}#
+                                                                             
#{r\ 595}#
+                                                                             
#{req\ 562}#
+                                                                             
(reverse
+                                                                               
#{ropt\ 563}#)
+                                                                             
'()
+                                                                             
#f))
+                                                                         
#{tmp\ 593}#)
+                                                                  ((lambda 
(#{else\ 596}#)
+                                                                     
(syntax-violation
+                                                                       'lambda*
+                                                                       
"invalid optional argument list"
+                                                                       
#{orig-args\ 452}#
+                                                                       #{args\ 
561}#))
+                                                                   #{tmp\ 
564}#)))
+                                                              (list #{tmp\ 
564}#))))
+                                                         ($sc-dispatch
+                                                           #{tmp\ 564}#
+                                                           '(any any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 513}#
-                                                      '(any any)))))
+                                                      #{tmp\ 564}#
+                                                      '(any . any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 513}#
+                                                 #{tmp\ 564}#
                                                  '(any . any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 513}#
+                                            #{tmp\ 564}#
                                             '((any any) . any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 513}#
+                                       #{tmp\ 564}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 513}# (quote ()))))
-                             #{args\ 510}#)))
-                        (#{req\ 437}#
-                          (lambda (#{args\ 541}# #{rreq\ 542}#)
-                            ((lambda (#{tmp\ 543}#)
-                               ((lambda (#{tmp\ 544}#)
-                                  (if #{tmp\ 544}#
+                                ($sc-dispatch #{tmp\ 564}# (quote ()))))
+                             #{args\ 561}#)))
+                        (#{req\ 453}#
+                          (lambda (#{args\ 597}# #{rreq\ 598}#)
+                            ((lambda (#{tmp\ 599}#)
+                               ((lambda (#{tmp\ 600}#)
+                                  (if #{tmp\ 600}#
                                     (apply (lambda ()
-                                             (#{check\ 441}#
-                                               (reverse #{rreq\ 542}#)
+                                             (#{check\ 458}#
+                                               (reverse #{rreq\ 598}#)
                                                '()
                                                #f
-                                               '()))
-                                           #{tmp\ 544}#)
-                                    ((lambda (#{tmp\ 545}#)
-                                       (if (if #{tmp\ 545}#
-                                             (apply (lambda (#{a\ 546}#
-                                                             #{b\ 547}#)
+                                               '()
+                                               #f))
+                                           #{tmp\ 600}#)
+                                    ((lambda (#{tmp\ 601}#)
+                                       (if (if #{tmp\ 601}#
+                                             (apply (lambda (#{a\ 602}#
+                                                             #{b\ 603}#)
                                                       (#{id?\ 131}#
-                                                        #{a\ 546}#))
-                                                    #{tmp\ 545}#)
+                                                        #{a\ 602}#))
+                                                    #{tmp\ 601}#)
                                              #f)
-                                         (apply (lambda (#{a\ 548}# #{b\ 549}#)
-                                                  (#{req\ 437}#
-                                                    #{b\ 549}#
-                                                    (cons #{a\ 548}#
-                                                          #{rreq\ 542}#)))
-                                                #{tmp\ 545}#)
-                                         ((lambda (#{tmp\ 550}#)
-                                            (if (if #{tmp\ 550}#
-                                                  (apply (lambda (#{a\ 551}#
-                                                                  #{b\ 552}#)
+                                         (apply (lambda (#{a\ 604}# #{b\ 605}#)
+                                                  (#{req\ 453}#
+                                                    #{b\ 605}#
+                                                    (cons #{a\ 604}#
+                                                          #{rreq\ 598}#)))
+                                                #{tmp\ 601}#)
+                                         ((lambda (#{tmp\ 606}#)
+                                            (if (if #{tmp\ 606}#
+                                                  (apply (lambda (#{a\ 607}#
+                                                                  #{b\ 608}#)
                                                            (eq? (syntax->datum
-                                                                  #{a\ 551}#)
+                                                                  #{a\ 607}#)
                                                                 #:optional))
-                                                         #{tmp\ 550}#)
+                                                         #{tmp\ 606}#)
                                                   #f)
-                                              (apply (lambda (#{a\ 553}#
-                                                              #{b\ 554}#)
-                                                       (#{opt\ 438}#
-                                                         #{b\ 554}#
+                                              (apply (lambda (#{a\ 609}#
+                                                              #{b\ 610}#)
+                                                       (#{opt\ 454}#
+                                                         #{b\ 610}#
                                                          (reverse
-                                                           #{rreq\ 542}#)
+                                                           #{rreq\ 598}#)
                                                          '()))
-                                                     #{tmp\ 550}#)
-                                              ((lambda (#{tmp\ 555}#)
-                                                 (if (if #{tmp\ 555}#
-                                                       (apply (lambda (#{a\ 
556}#
-                                                                       #{b\ 
557}#)
+                                                     #{tmp\ 606}#)
+                                              ((lambda (#{tmp\ 611}#)
+                                                 (if (if #{tmp\ 611}#
+                                                       (apply (lambda (#{a\ 
612}#
+                                                                       #{b\ 
613}#)
                                                                 (eq? 
(syntax->datum
-                                                                       #{a\ 
556}#)
+                                                                       #{a\ 
612}#)
                                                                      #:key))
-                                                              #{tmp\ 555}#)
+                                                              #{tmp\ 611}#)
                                                        #f)
-                                                   (apply (lambda (#{a\ 558}#
-                                                                   #{b\ 559}#)
-                                                            (#{key\ 439}#
-                                                              #{b\ 559}#
+                                                   (apply (lambda (#{a\ 614}#
+                                                                   #{b\ 615}#)
+                                                            (#{key\ 455}#
+                                                              #{b\ 615}#
                                                               (reverse
-                                                                #{rreq\ 542}#)
+                                                                #{rreq\ 598}#)
                                                               '()
                                                               '()))
-                                                          #{tmp\ 555}#)
-                                                   ((lambda (#{tmp\ 560}#)
-                                                      (if (if #{tmp\ 560}#
-                                                            (apply (lambda 
(#{a\ 561}#
-                                                                            
#{b\ 562}#)
+                                                          #{tmp\ 611}#)
+                                                   ((lambda (#{tmp\ 616}#)
+                                                      (if (if #{tmp\ 616}#
+                                                            (apply (lambda 
(#{a\ 617}#
+                                                                            
#{b\ 618}#)
                                                                      (eq? 
(syntax->datum
-                                                                            
#{a\ 561}#)
-                                                                          
#:rest))
-                                                                   #{tmp\ 
560}#)
+                                                                            
#{a\ 617}#)
+                                                                          
#:predicate))
+                                                                   #{tmp\ 
616}#)
                                                             #f)
-                                                        (apply (lambda (#{a\ 
563}#
-                                                                        #{b\ 
564}#)
-                                                                 (#{rest\ 440}#
-                                                                   #{b\ 564}#
+                                                        (apply (lambda (#{a\ 
619}#
+                                                                        #{b\ 
620}#)
+                                                                 (#{pred\ 456}#
+                                                                   #{b\ 620}#
                                                                    (reverse
-                                                                     #{rreq\ 
542}#)
+                                                                     #{rreq\ 
598}#)
                                                                    '()
                                                                    '()))
-                                                               #{tmp\ 560}#)
-                                                        ((lambda (#{tmp\ 565}#)
-                                                           (if (if #{tmp\ 565}#
-                                                                 (apply 
(lambda (#{r\ 566}#)
-                                                                          
(#{id?\ 131}#
-                                                                            
#{r\ 566}#))
-                                                                        #{tmp\ 
565}#)
+                                                               #{tmp\ 616}#)
+                                                        ((lambda (#{tmp\ 621}#)
+                                                           (if (if #{tmp\ 621}#
+                                                                 (apply 
(lambda (#{a\ 622}#
+                                                                               
  #{b\ 623}#)
+                                                                          (eq? 
(syntax->datum
+                                                                               
  #{a\ 622}#)
+                                                                               
#:rest))
+                                                                        #{tmp\ 
621}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{r\ 567}#)
-                                                                      (#{rest\ 
440}#
-                                                                        #{r\ 
567}#
+                                                             (apply (lambda 
(#{a\ 624}#
+                                                                             
#{b\ 625}#)
+                                                                      (#{rest\ 
457}#
+                                                                        #{b\ 
625}#
                                                                         
(reverse
-                                                                          
#{rreq\ 542}#)
+                                                                          
#{rreq\ 598}#)
+                                                                        '()
                                                                         '()
-                                                                        '()))
-                                                                    #{tmp\ 
565}#)
-                                                             ((lambda (#{else\ 
568}#)
-                                                                
(syntax-violation
-                                                                  'lambda*
-                                                                  "invalid 
argument list"
-                                                                  #{orig-args\ 
436}#
-                                                                  #{args\ 
541}#))
-                                                              #{tmp\ 543}#)))
-                                                         (list #{tmp\ 543}#))))
+                                                                        #f))
+                                                                    #{tmp\ 
621}#)
+                                                             ((lambda (#{tmp\ 
626}#)
+                                                                (if (if #{tmp\ 
626}#
+                                                                      (apply 
(lambda (#{r\ 627}#)
+                                                                               
(#{id?\ 131}#
+                                                                               
  #{r\ 627}#))
+                                                                             
#{tmp\ 626}#)
+                                                                      #f)
+                                                                  (apply 
(lambda (#{r\ 628}#)
+                                                                           
(#{rest\ 457}#
+                                                                             
#{r\ 628}#
+                                                                             
(reverse
+                                                                               
#{rreq\ 598}#)
+                                                                             
'()
+                                                                             
'()
+                                                                             
#f))
+                                                                         
#{tmp\ 626}#)
+                                                                  ((lambda 
(#{else\ 629}#)
+                                                                     
(syntax-violation
+                                                                       'lambda*
+                                                                       
"invalid argument list"
+                                                                       
#{orig-args\ 452}#
+                                                                       #{args\ 
597}#))
+                                                                   #{tmp\ 
599}#)))
+                                                              (list #{tmp\ 
599}#))))
+                                                         ($sc-dispatch
+                                                           #{tmp\ 599}#
+                                                           '(any any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 543}#
-                                                      '(any any)))))
+                                                      #{tmp\ 599}#
+                                                      '(any . any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 543}#
+                                                 #{tmp\ 599}#
                                                  '(any . any)))))
                                           ($sc-dispatch
-                                            #{tmp\ 543}#
+                                            #{tmp\ 599}#
                                             '(any . any)))))
                                      ($sc-dispatch
-                                       #{tmp\ 543}#
+                                       #{tmp\ 599}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 543}# (quote ()))))
-                             #{args\ 541}#))))
-                 (#{req\ 437}# #{orig-args\ 436}# (quote ())))))
+                                ($sc-dispatch #{tmp\ 599}# (quote ()))))
+                             #{args\ 597}#))))
+                 (#{req\ 453}# #{orig-args\ 452}# (quote ())))))
            (#{chi-simple-lambda\ 177}#
-             (lambda (#{e\ 569}#
-                      #{r\ 570}#
-                      #{w\ 571}#
-                      #{s\ 572}#
-                      #{mod\ 573}#
-                      #{req\ 574}#
-                      #{rest\ 575}#
-                      #{docstring\ 576}#
-                      #{body\ 577}#)
-               (let ((#{ids\ 578}#
-                       (if #{rest\ 575}#
-                         (append #{req\ 574}# (list #{rest\ 575}#))
-                         #{req\ 574}#)))
-                 (let ((#{vars\ 579}#
-                         (map #{gen-var\ 181}# #{ids\ 578}#)))
-                   (let ((#{labels\ 580}#
-                           (#{gen-labels\ 137}# #{ids\ 578}#)))
+             (lambda (#{e\ 630}#
+                      #{r\ 631}#
+                      #{w\ 632}#
+                      #{s\ 633}#
+                      #{mod\ 634}#
+                      #{req\ 635}#
+                      #{rest\ 636}#
+                      #{docstring\ 637}#
+                      #{body\ 638}#)
+               (let ((#{ids\ 639}#
+                       (if #{rest\ 636}#
+                         (append #{req\ 635}# (list #{rest\ 636}#))
+                         #{req\ 635}#)))
+                 (let ((#{vars\ 640}#
+                         (map #{gen-var\ 181}# #{ids\ 639}#)))
+                   (let ((#{labels\ 641}#
+                           (#{gen-labels\ 137}# #{ids\ 639}#)))
                      (#{build-simple-lambda\ 105}#
-                       #{s\ 572}#
-                       (map syntax->datum #{req\ 574}#)
-                       (if #{rest\ 575}#
-                         (syntax->datum #{rest\ 575}#)
+                       #{s\ 633}#
+                       (map syntax->datum #{req\ 635}#)
+                       (if #{rest\ 636}#
+                         (syntax->datum #{rest\ 636}#)
                          #f)
-                       #{vars\ 579}#
-                       #{docstring\ 576}#
+                       #{vars\ 640}#
+                       #{docstring\ 637}#
                        (#{chi-body\ 171}#
-                         #{body\ 577}#
+                         #{body\ 638}#
                          (#{source-wrap\ 160}#
-                           #{e\ 569}#
-                           #{w\ 571}#
-                           #{s\ 572}#
-                           #{mod\ 573}#)
+                           #{e\ 630}#
+                           #{w\ 632}#
+                           #{s\ 633}#
+                           #{mod\ 634}#)
                          (#{extend-var-env\ 126}#
-                           #{labels\ 580}#
-                           #{vars\ 579}#
-                           #{r\ 570}#)
+                           #{labels\ 641}#
+                           #{vars\ 640}#
+                           #{r\ 631}#)
                          (#{make-binding-wrap\ 148}#
-                           #{ids\ 578}#
-                           #{labels\ 580}#
-                           #{w\ 571}#)
-                         #{mod\ 573}#)))))))
+                           #{ids\ 639}#
+                           #{labels\ 641}#
+                           #{w\ 632}#)
+                         #{mod\ 634}#)))))))
            (#{lambda-formals\ 176}#
-             (lambda (#{orig-args\ 581}#)
-               (letrec ((#{check\ 583}#
-                          (lambda (#{req\ 584}# #{rest\ 585}#)
+             (lambda (#{orig-args\ 642}#)
+               (letrec ((#{check\ 644}#
+                          (lambda (#{req\ 645}# #{rest\ 646}#)
                             (if (#{distinct-bound-ids?\ 157}#
-                                  (if #{rest\ 585}#
-                                    (cons #{rest\ 585}# #{req\ 584}#)
-                                    #{req\ 584}#))
-                              (values #{req\ 584}# #f #{rest\ 585}# #f)
+                                  (if #{rest\ 646}#
+                                    (cons #{rest\ 646}# #{req\ 645}#)
+                                    #{req\ 645}#))
+                              (values #{req\ 645}# #f #{rest\ 646}# #f #f)
                               (syntax-violation
                                 'lambda
                                 "duplicate identifier in argument list"
-                                #{orig-args\ 581}#))))
-                        (#{req\ 582}#
-                          (lambda (#{args\ 586}# #{rreq\ 587}#)
-                            ((lambda (#{tmp\ 588}#)
-                               ((lambda (#{tmp\ 589}#)
-                                  (if #{tmp\ 589}#
+                                #{orig-args\ 642}#))))
+                        (#{req\ 643}#
+                          (lambda (#{args\ 647}# #{rreq\ 648}#)
+                            ((lambda (#{tmp\ 649}#)
+                               ((lambda (#{tmp\ 650}#)
+                                  (if #{tmp\ 650}#
                                     (apply (lambda ()
-                                             (#{check\ 583}#
-                                               (reverse #{rreq\ 587}#)
+                                             (#{check\ 644}#
+                                               (reverse #{rreq\ 648}#)
                                                #f))
-                                           #{tmp\ 589}#)
-                                    ((lambda (#{tmp\ 590}#)
-                                       (if (if #{tmp\ 590}#
-                                             (apply (lambda (#{a\ 591}#
-                                                             #{b\ 592}#)
+                                           #{tmp\ 650}#)
+                                    ((lambda (#{tmp\ 651}#)
+                                       (if (if #{tmp\ 651}#
+                                             (apply (lambda (#{a\ 652}#
+                                                             #{b\ 653}#)
                                                       (#{id?\ 131}#
-                                                        #{a\ 591}#))
-                                                    #{tmp\ 590}#)
+                                                        #{a\ 652}#))
+                                                    #{tmp\ 651}#)
                                              #f)
-                                         (apply (lambda (#{a\ 593}# #{b\ 594}#)
-                                                  (#{req\ 582}#
-                                                    #{b\ 594}#
-                                                    (cons #{a\ 593}#
-                                                          #{rreq\ 587}#)))
-                                                #{tmp\ 590}#)
-                                         ((lambda (#{tmp\ 595}#)
-                                            (if (if #{tmp\ 595}#
-                                                  (apply (lambda (#{r\ 596}#)
+                                         (apply (lambda (#{a\ 654}# #{b\ 655}#)
+                                                  (#{req\ 643}#
+                                                    #{b\ 655}#
+                                                    (cons #{a\ 654}#
+                                                          #{rreq\ 648}#)))
+                                                #{tmp\ 651}#)
+                                         ((lambda (#{tmp\ 656}#)
+                                            (if (if #{tmp\ 656}#
+                                                  (apply (lambda (#{r\ 657}#)
                                                            (#{id?\ 131}#
-                                                             #{r\ 596}#))
-                                                         #{tmp\ 595}#)
+                                                             #{r\ 657}#))
+                                                         #{tmp\ 656}#)
                                                   #f)
-                                              (apply (lambda (#{r\ 597}#)
-                                                       (#{check\ 583}#
+                                              (apply (lambda (#{r\ 658}#)
+                                                       (#{check\ 644}#
                                                          (reverse
-                                                           #{rreq\ 587}#)
-                                                         #{r\ 597}#))
-                                                     #{tmp\ 595}#)
-                                              ((lambda (#{else\ 598}#)
+                                                           #{rreq\ 648}#)
+                                                         #{r\ 658}#))
+                                                     #{tmp\ 656}#)
+                                              ((lambda (#{else\ 659}#)
                                                  (syntax-violation
                                                    'lambda
                                                    "invalid argument list"
-                                                   #{orig-args\ 581}#
-                                                   #{args\ 586}#))
-                                               #{tmp\ 588}#)))
-                                          (list #{tmp\ 588}#))))
+                                                   #{orig-args\ 642}#
+                                                   #{args\ 647}#))
+                                               #{tmp\ 649}#)))
+                                          (list #{tmp\ 649}#))))
                                      ($sc-dispatch
-                                       #{tmp\ 588}#
+                                       #{tmp\ 649}#
                                        '(any . any)))))
-                                ($sc-dispatch #{tmp\ 588}# (quote ()))))
-                             #{args\ 586}#))))
-                 (#{req\ 582}# #{orig-args\ 581}# (quote ())))))
+                                ($sc-dispatch #{tmp\ 649}# (quote ()))))
+                             #{args\ 647}#))))
+                 (#{req\ 643}# #{orig-args\ 642}# (quote ())))))
            (#{ellipsis?\ 175}#
-             (lambda (#{x\ 599}#)
-               (if (#{nonsymbol-id?\ 130}# #{x\ 599}#)
+             (lambda (#{x\ 660}#)
+               (if (#{nonsymbol-id?\ 130}# #{x\ 660}#)
                  (#{free-id=?\ 154}#
-                   #{x\ 599}#
+                   #{x\ 660}#
                    '#(syntax-object
                       ...
                       ((top)
@@ -2314,368 +2538,368 @@
            (#{chi-void\ 174}#
              (lambda () (#{build-void\ 95}# #f)))
            (#{eval-local-transformer\ 173}#
-             (lambda (#{expanded\ 600}# #{mod\ 601}#)
-               (let ((#{p\ 602}# (#{local-eval-hook\ 91}#
-                                   #{expanded\ 600}#
-                                   #{mod\ 601}#)))
-                 (if (procedure? #{p\ 602}#)
-                   #{p\ 602}#
+             (lambda (#{expanded\ 661}# #{mod\ 662}#)
+               (let ((#{p\ 663}# (#{local-eval-hook\ 91}#
+                                   #{expanded\ 661}#
+                                   #{mod\ 662}#)))
+                 (if (procedure? #{p\ 663}#)
+                   #{p\ 663}#
                    (syntax-violation
                      #f
                      "nonprocedure transformer"
-                     #{p\ 602}#)))))
+                     #{p\ 663}#)))))
            (#{chi-local-syntax\ 172}#
-             (lambda (#{rec?\ 603}#
-                      #{e\ 604}#
-                      #{r\ 605}#
-                      #{w\ 606}#
-                      #{s\ 607}#
-                      #{mod\ 608}#
-                      #{k\ 609}#)
-               ((lambda (#{tmp\ 610}#)
-                  ((lambda (#{tmp\ 611}#)
-                     (if #{tmp\ 611}#
-                       (apply (lambda (#{_\ 612}#
-                                       #{id\ 613}#
-                                       #{val\ 614}#
-                                       #{e1\ 615}#
-                                       #{e2\ 616}#)
-                                (let ((#{ids\ 617}# #{id\ 613}#))
+             (lambda (#{rec?\ 664}#
+                      #{e\ 665}#
+                      #{r\ 666}#
+                      #{w\ 667}#
+                      #{s\ 668}#
+                      #{mod\ 669}#
+                      #{k\ 670}#)
+               ((lambda (#{tmp\ 671}#)
+                  ((lambda (#{tmp\ 672}#)
+                     (if #{tmp\ 672}#
+                       (apply (lambda (#{_\ 673}#
+                                       #{id\ 674}#
+                                       #{val\ 675}#
+                                       #{e1\ 676}#
+                                       #{e2\ 677}#)
+                                (let ((#{ids\ 678}# #{id\ 674}#))
                                   (if (not (#{valid-bound-ids?\ 156}#
-                                             #{ids\ 617}#))
+                                             #{ids\ 678}#))
                                     (syntax-violation
                                       #f
                                       "duplicate bound keyword"
-                                      #{e\ 604}#)
-                                    (let ((#{labels\ 619}#
+                                      #{e\ 665}#)
+                                    (let ((#{labels\ 680}#
                                             (#{gen-labels\ 137}#
-                                              #{ids\ 617}#)))
-                                      (let ((#{new-w\ 620}#
+                                              #{ids\ 678}#)))
+                                      (let ((#{new-w\ 681}#
                                               (#{make-binding-wrap\ 148}#
-                                                #{ids\ 617}#
-                                                #{labels\ 619}#
-                                                #{w\ 606}#)))
-                                        (#{k\ 609}# (cons #{e1\ 615}#
-                                                          #{e2\ 616}#)
+                                                #{ids\ 678}#
+                                                #{labels\ 680}#
+                                                #{w\ 667}#)))
+                                        (#{k\ 670}# (cons #{e1\ 676}#
+                                                          #{e2\ 677}#)
                                                     (#{extend-env\ 125}#
-                                                      #{labels\ 619}#
-                                                      (let ((#{w\ 622}# (if 
#{rec?\ 603}#
-                                                                          
#{new-w\ 620}#
-                                                                          #{w\ 
606}#))
-                                                            (#{trans-r\ 623}#
+                                                      #{labels\ 680}#
+                                                      (let ((#{w\ 683}# (if 
#{rec?\ 664}#
+                                                                          
#{new-w\ 681}#
+                                                                          #{w\ 
667}#))
+                                                            (#{trans-r\ 684}#
                                                               
(#{macros-only-env\ 127}#
-                                                                #{r\ 605}#)))
-                                                        (map (lambda (#{x\ 
624}#)
+                                                                #{r\ 666}#)))
+                                                        (map (lambda (#{x\ 
685}#)
                                                                (cons 'macro
                                                                      
(#{eval-local-transformer\ 173}#
                                                                        (#{chi\ 
167}#
-                                                                         #{x\ 
624}#
-                                                                         
#{trans-r\ 623}#
-                                                                         #{w\ 
622}#
-                                                                         
#{mod\ 608}#)
-                                                                       #{mod\ 
608}#)))
-                                                             #{val\ 614}#))
-                                                      #{r\ 605}#)
-                                                    #{new-w\ 620}#
-                                                    #{s\ 607}#
-                                                    #{mod\ 608}#))))))
-                              #{tmp\ 611}#)
-                       ((lambda (#{_\ 626}#)
+                                                                         #{x\ 
685}#
+                                                                         
#{trans-r\ 684}#
+                                                                         #{w\ 
683}#
+                                                                         
#{mod\ 669}#)
+                                                                       #{mod\ 
669}#)))
+                                                             #{val\ 675}#))
+                                                      #{r\ 666}#)
+                                                    #{new-w\ 681}#
+                                                    #{s\ 668}#
+                                                    #{mod\ 669}#))))))
+                              #{tmp\ 672}#)
+                       ((lambda (#{_\ 687}#)
                           (syntax-violation
                             #f
                             "bad local syntax definition"
                             (#{source-wrap\ 160}#
-                              #{e\ 604}#
-                              #{w\ 606}#
-                              #{s\ 607}#
-                              #{mod\ 608}#)))
-                        #{tmp\ 610}#)))
+                              #{e\ 665}#
+                              #{w\ 667}#
+                              #{s\ 668}#
+                              #{mod\ 669}#)))
+                        #{tmp\ 671}#)))
                    ($sc-dispatch
-                     #{tmp\ 610}#
+                     #{tmp\ 671}#
                      '(any #(each (any any)) any . each-any))))
-                #{e\ 604}#)))
+                #{e\ 665}#)))
            (#{chi-body\ 171}#
-             (lambda (#{body\ 627}#
-                      #{outer-form\ 628}#
-                      #{r\ 629}#
-                      #{w\ 630}#
-                      #{mod\ 631}#)
-               (let ((#{r\ 632}# (cons '("placeholder" placeholder)
-                                       #{r\ 629}#)))
-                 (let ((#{ribcage\ 633}#
+             (lambda (#{body\ 688}#
+                      #{outer-form\ 689}#
+                      #{r\ 690}#
+                      #{w\ 691}#
+                      #{mod\ 692}#)
+               (let ((#{r\ 693}# (cons '("placeholder" placeholder)
+                                       #{r\ 690}#)))
+                 (let ((#{ribcage\ 694}#
                          (#{make-ribcage\ 138}#
                            '()
                            '()
                            '())))
-                   (let ((#{w\ 634}# (#{make-wrap\ 133}#
-                                       (#{wrap-marks\ 134}# #{w\ 630}#)
-                                       (cons #{ribcage\ 633}#
+                   (let ((#{w\ 695}# (#{make-wrap\ 133}#
+                                       (#{wrap-marks\ 134}# #{w\ 691}#)
+                                       (cons #{ribcage\ 694}#
                                              (#{wrap-subst\ 135}#
-                                               #{w\ 630}#)))))
-                     (letrec ((#{parse\ 635}#
-                                (lambda (#{body\ 636}#
-                                         #{ids\ 637}#
-                                         #{labels\ 638}#
-                                         #{var-ids\ 639}#
-                                         #{vars\ 640}#
-                                         #{vals\ 641}#
-                                         #{bindings\ 642}#)
-                                  (if (null? #{body\ 636}#)
+                                               #{w\ 691}#)))))
+                     (letrec ((#{parse\ 696}#
+                                (lambda (#{body\ 697}#
+                                         #{ids\ 698}#
+                                         #{labels\ 699}#
+                                         #{var-ids\ 700}#
+                                         #{vars\ 701}#
+                                         #{vals\ 702}#
+                                         #{bindings\ 703}#)
+                                  (if (null? #{body\ 697}#)
                                     (syntax-violation
                                       #f
                                       "no expressions in body"
-                                      #{outer-form\ 628}#)
-                                    (let ((#{e\ 644}# (cdar #{body\ 636}#))
-                                          (#{er\ 645}# (caar #{body\ 636}#)))
+                                      #{outer-form\ 689}#)
+                                    (let ((#{e\ 705}# (cdar #{body\ 697}#))
+                                          (#{er\ 706}# (caar #{body\ 697}#)))
                                       (call-with-values
                                         (lambda ()
                                           (#{syntax-type\ 165}#
-                                            #{e\ 644}#
-                                            #{er\ 645}#
+                                            #{e\ 705}#
+                                            #{er\ 706}#
                                             '(())
                                             (#{source-annotation\ 122}#
-                                              #{er\ 645}#)
-                                            #{ribcage\ 633}#
-                                            #{mod\ 631}#
+                                              #{er\ 706}#)
+                                            #{ribcage\ 694}#
+                                            #{mod\ 692}#
                                             #f))
-                                        (lambda (#{type\ 646}#
-                                                 #{value\ 647}#
-                                                 #{e\ 648}#
-                                                 #{w\ 649}#
-                                                 #{s\ 650}#
-                                                 #{mod\ 651}#)
-                                          (if (memv #{type\ 646}#
+                                        (lambda (#{type\ 707}#
+                                                 #{value\ 708}#
+                                                 #{e\ 709}#
+                                                 #{w\ 710}#
+                                                 #{s\ 711}#
+                                                 #{mod\ 712}#)
+                                          (if (memv #{type\ 707}#
                                                     '(define-form))
-                                            (let ((#{id\ 652}#
+                                            (let ((#{id\ 713}#
                                                     (#{wrap\ 159}#
-                                                      #{value\ 647}#
-                                                      #{w\ 649}#
-                                                      #{mod\ 651}#))
-                                                  (#{label\ 653}#
+                                                      #{value\ 708}#
+                                                      #{w\ 710}#
+                                                      #{mod\ 712}#))
+                                                  (#{label\ 714}#
                                                     (#{gen-label\ 136}#)))
-                                              (let ((#{var\ 654}#
+                                              (let ((#{var\ 715}#
                                                       (#{gen-var\ 181}#
-                                                        #{id\ 652}#)))
+                                                        #{id\ 713}#)))
                                                 (begin
                                                   (#{extend-ribcage!\ 147}#
-                                                    #{ribcage\ 633}#
-                                                    #{id\ 652}#
-                                                    #{label\ 653}#)
-                                                  (#{parse\ 635}#
-                                                    (cdr #{body\ 636}#)
-                                                    (cons #{id\ 652}#
-                                                          #{ids\ 637}#)
-                                                    (cons #{label\ 653}#
-                                                          #{labels\ 638}#)
-                                                    (cons #{id\ 652}#
-                                                          #{var-ids\ 639}#)
-                                                    (cons #{var\ 654}#
-                                                          #{vars\ 640}#)
-                                                    (cons (cons #{er\ 645}#
+                                                    #{ribcage\ 694}#
+                                                    #{id\ 713}#
+                                                    #{label\ 714}#)
+                                                  (#{parse\ 696}#
+                                                    (cdr #{body\ 697}#)
+                                                    (cons #{id\ 713}#
+                                                          #{ids\ 698}#)
+                                                    (cons #{label\ 714}#
+                                                          #{labels\ 699}#)
+                                                    (cons #{id\ 713}#
+                                                          #{var-ids\ 700}#)
+                                                    (cons #{var\ 715}#
+                                                          #{vars\ 701}#)
+                                                    (cons (cons #{er\ 706}#
                                                                 (#{wrap\ 159}#
-                                                                  #{e\ 648}#
-                                                                  #{w\ 649}#
-                                                                  #{mod\ 
651}#))
-                                                          #{vals\ 641}#)
+                                                                  #{e\ 709}#
+                                                                  #{w\ 710}#
+                                                                  #{mod\ 
712}#))
+                                                          #{vals\ 702}#)
                                                     (cons (cons 'lexical
-                                                                #{var\ 654}#)
-                                                          #{bindings\ 
642}#)))))
-                                            (if (memv #{type\ 646}#
+                                                                #{var\ 715}#)
+                                                          #{bindings\ 
703}#)))))
+                                            (if (memv #{type\ 707}#
                                                       '(define-syntax-form))
-                                              (let ((#{id\ 655}#
+                                              (let ((#{id\ 716}#
                                                       (#{wrap\ 159}#
-                                                        #{value\ 647}#
-                                                        #{w\ 649}#
-                                                        #{mod\ 651}#))
-                                                    (#{label\ 656}#
+                                                        #{value\ 708}#
+                                                        #{w\ 710}#
+                                                        #{mod\ 712}#))
+                                                    (#{label\ 717}#
                                                       (#{gen-label\ 136}#)))
                                                 (begin
                                                   (#{extend-ribcage!\ 147}#
-                                                    #{ribcage\ 633}#
-                                                    #{id\ 655}#
-                                                    #{label\ 656}#)
-                                                  (#{parse\ 635}#
-                                                    (cdr #{body\ 636}#)
-                                                    (cons #{id\ 655}#
-                                                          #{ids\ 637}#)
-                                                    (cons #{label\ 656}#
-                                                          #{labels\ 638}#)
-                                                    #{var-ids\ 639}#
-                                                    #{vars\ 640}#
-                                                    #{vals\ 641}#
+                                                    #{ribcage\ 694}#
+                                                    #{id\ 716}#
+                                                    #{label\ 717}#)
+                                                  (#{parse\ 696}#
+                                                    (cdr #{body\ 697}#)
+                                                    (cons #{id\ 716}#
+                                                          #{ids\ 698}#)
+                                                    (cons #{label\ 717}#
+                                                          #{labels\ 699}#)
+                                                    #{var-ids\ 700}#
+                                                    #{vars\ 701}#
+                                                    #{vals\ 702}#
                                                     (cons (cons 'macro
-                                                                (cons #{er\ 
645}#
+                                                                (cons #{er\ 
706}#
                                                                       (#{wrap\ 
159}#
-                                                                        #{e\ 
648}#
-                                                                        #{w\ 
649}#
-                                                                        #{mod\ 
651}#)))
-                                                          #{bindings\ 642}#))))
-                                              (if (memv #{type\ 646}#
+                                                                        #{e\ 
709}#
+                                                                        #{w\ 
710}#
+                                                                        #{mod\ 
712}#)))
+                                                          #{bindings\ 703}#))))
+                                              (if (memv #{type\ 707}#
                                                         '(begin-form))
-                                                ((lambda (#{tmp\ 657}#)
-                                                   ((lambda (#{tmp\ 658}#)
-                                                      (if #{tmp\ 658}#
-                                                        (apply (lambda (#{_\ 
659}#
-                                                                        #{e1\ 
660}#)
-                                                                 (#{parse\ 
635}#
-                                                                   (letrec 
((#{f\ 661}# (lambda (#{forms\ 662}#)
-                                                                               
           (if (null? #{forms\ 662}#)
-                                                                               
             (cdr #{body\ 636}#)
-                                                                               
             (cons (cons #{er\ 645}#
+                                                ((lambda (#{tmp\ 718}#)
+                                                   ((lambda (#{tmp\ 719}#)
+                                                      (if #{tmp\ 719}#
+                                                        (apply (lambda (#{_\ 
720}#
+                                                                        #{e1\ 
721}#)
+                                                                 (#{parse\ 
696}#
+                                                                   (letrec 
((#{f\ 722}# (lambda (#{forms\ 723}#)
+                                                                               
           (if (null? #{forms\ 723}#)
+                                                                               
             (cdr #{body\ 697}#)
+                                                                               
             (cons (cons #{er\ 706}#
                                                                                
                         (#{wrap\ 159}#
-                                                                               
                           (car #{forms\ 662}#)
-                                                                               
                           #{w\ 649}#
-                                                                               
                           #{mod\ 651}#))
-                                                                               
                   (#{f\ 661}# (cdr #{forms\ 662}#)))))))
-                                                                     (#{f\ 
661}# #{e1\ 660}#))
-                                                                   #{ids\ 637}#
-                                                                   #{labels\ 
638}#
-                                                                   #{var-ids\ 
639}#
-                                                                   #{vars\ 
640}#
-                                                                   #{vals\ 
641}#
-                                                                   #{bindings\ 
642}#))
-                                                               #{tmp\ 658}#)
+                                                                               
                           (car #{forms\ 723}#)
+                                                                               
                           #{w\ 710}#
+                                                                               
                           #{mod\ 712}#))
+                                                                               
                   (#{f\ 722}# (cdr #{forms\ 723}#)))))))
+                                                                     (#{f\ 
722}# #{e1\ 721}#))
+                                                                   #{ids\ 698}#
+                                                                   #{labels\ 
699}#
+                                                                   #{var-ids\ 
700}#
+                                                                   #{vars\ 
701}#
+                                                                   #{vals\ 
702}#
+                                                                   #{bindings\ 
703}#))
+                                                               #{tmp\ 719}#)
                                                         (syntax-violation
                                                           #f
                                                           "source expression 
failed to match any pattern"
-                                                          #{tmp\ 657}#)))
+                                                          #{tmp\ 718}#)))
                                                     ($sc-dispatch
-                                                      #{tmp\ 657}#
+                                                      #{tmp\ 718}#
                                                       '(any . each-any))))
-                                                 #{e\ 648}#)
-                                                (if (memv #{type\ 646}#
+                                                 #{e\ 709}#)
+                                                (if (memv #{type\ 707}#
                                                           '(local-syntax-form))
                                                   (#{chi-local-syntax\ 172}#
-                                                    #{value\ 647}#
-                                                    #{e\ 648}#
-                                                    #{er\ 645}#
-                                                    #{w\ 649}#
-                                                    #{s\ 650}#
-                                                    #{mod\ 651}#
-                                                    (lambda (#{forms\ 664}#
-                                                             #{er\ 665}#
-                                                             #{w\ 666}#
-                                                             #{s\ 667}#
-                                                             #{mod\ 668}#)
-                                                      (#{parse\ 635}#
-                                                        (letrec ((#{f\ 669}# 
(lambda (#{forms\ 670}#)
-                                                                               
(if (null? #{forms\ 670}#)
-                                                                               
  (cdr #{body\ 636}#)
-                                                                               
  (cons (cons #{er\ 665}#
+                                                    #{value\ 708}#
+                                                    #{e\ 709}#
+                                                    #{er\ 706}#
+                                                    #{w\ 710}#
+                                                    #{s\ 711}#
+                                                    #{mod\ 712}#
+                                                    (lambda (#{forms\ 725}#
+                                                             #{er\ 726}#
+                                                             #{w\ 727}#
+                                                             #{s\ 728}#
+                                                             #{mod\ 729}#)
+                                                      (#{parse\ 696}#
+                                                        (letrec ((#{f\ 730}# 
(lambda (#{forms\ 731}#)
+                                                                               
(if (null? #{forms\ 731}#)
+                                                                               
  (cdr #{body\ 697}#)
+                                                                               
  (cons (cons #{er\ 726}#
                                                                                
              (#{wrap\ 159}#
-                                                                               
                (car #{forms\ 670}#)
-                                                                               
                #{w\ 666}#
-                                                                               
                #{mod\ 668}#))
-                                                                               
        (#{f\ 669}# (cdr #{forms\ 670}#)))))))
-                                                          (#{f\ 669}# #{forms\ 
664}#))
-                                                        #{ids\ 637}#
-                                                        #{labels\ 638}#
-                                                        #{var-ids\ 639}#
-                                                        #{vars\ 640}#
-                                                        #{vals\ 641}#
-                                                        #{bindings\ 642}#)))
-                                                  (if (null? #{ids\ 637}#)
+                                                                               
                (car #{forms\ 731}#)
+                                                                               
                #{w\ 727}#
+                                                                               
                #{mod\ 729}#))
+                                                                               
        (#{f\ 730}# (cdr #{forms\ 731}#)))))))
+                                                          (#{f\ 730}# #{forms\ 
725}#))
+                                                        #{ids\ 698}#
+                                                        #{labels\ 699}#
+                                                        #{var-ids\ 700}#
+                                                        #{vars\ 701}#
+                                                        #{vals\ 702}#
+                                                        #{bindings\ 703}#)))
+                                                  (if (null? #{ids\ 698}#)
                                                     (#{build-sequence\ 110}#
                                                       #f
-                                                      (map (lambda (#{x\ 671}#)
+                                                      (map (lambda (#{x\ 732}#)
                                                              (#{chi\ 167}#
-                                                               (cdr #{x\ 671}#)
-                                                               (car #{x\ 671}#)
+                                                               (cdr #{x\ 732}#)
+                                                               (car #{x\ 732}#)
                                                                '(())
-                                                               #{mod\ 651}#))
-                                                           (cons (cons #{er\ 
645}#
+                                                               #{mod\ 712}#))
+                                                           (cons (cons #{er\ 
706}#
                                                                        
(#{source-wrap\ 160}#
-                                                                         #{e\ 
648}#
-                                                                         #{w\ 
649}#
-                                                                         #{s\ 
650}#
-                                                                         
#{mod\ 651}#))
-                                                                 (cdr #{body\ 
636}#))))
+                                                                         #{e\ 
709}#
+                                                                         #{w\ 
710}#
+                                                                         #{s\ 
711}#
+                                                                         
#{mod\ 712}#))
+                                                                 (cdr #{body\ 
697}#))))
                                                     (begin
                                                       (if (not 
(#{valid-bound-ids?\ 156}#
-                                                                 #{ids\ 637}#))
+                                                                 #{ids\ 698}#))
                                                         (syntax-violation
                                                           #f
                                                           "invalid or 
duplicate identifier in definition"
-                                                          #{outer-form\ 628}#))
-                                                      (letrec ((#{loop\ 672}#
-                                                                 (lambda 
(#{bs\ 673}#
-                                                                          
#{er-cache\ 674}#
-                                                                          
#{r-cache\ 675}#)
-                                                                   (if (not 
(null? #{bs\ 673}#))
-                                                                     (let 
((#{b\ 676}# (car #{bs\ 673}#)))
-                                                                       (if 
(eq? (car #{b\ 676}#)
+                                                          #{outer-form\ 689}#))
+                                                      (letrec ((#{loop\ 733}#
+                                                                 (lambda 
(#{bs\ 734}#
+                                                                          
#{er-cache\ 735}#
+                                                                          
#{r-cache\ 736}#)
+                                                                   (if (not 
(null? #{bs\ 734}#))
+                                                                     (let 
((#{b\ 737}# (car #{bs\ 734}#)))
+                                                                       (if 
(eq? (car #{b\ 737}#)
                                                                                
 'macro)
-                                                                         (let 
((#{er\ 677}#
-                                                                               
  (cadr #{b\ 676}#)))
-                                                                           
(let ((#{r-cache\ 678}#
-                                                                               
    (if (eq? #{er\ 677}#
-                                                                               
             #{er-cache\ 674}#)
-                                                                               
      #{r-cache\ 675}#
+                                                                         (let 
((#{er\ 738}#
+                                                                               
  (cadr #{b\ 737}#)))
+                                                                           
(let ((#{r-cache\ 739}#
+                                                                               
    (if (eq? #{er\ 738}#
+                                                                               
             #{er-cache\ 735}#)
+                                                                               
      #{r-cache\ 736}#
                                                                                
      (#{macros-only-env\ 127}#
-                                                                               
        #{er\ 677}#))))
+                                                                               
        #{er\ 738}#))))
                                                                              
(begin
                                                                                
(set-cdr!
-                                                                               
  #{b\ 676}#
+                                                                               
  #{b\ 737}#
                                                                                
  (#{eval-local-transformer\ 173}#
                                                                                
    (#{chi\ 167}#
-                                                                               
      (cddr #{b\ 676}#)
-                                                                               
      #{r-cache\ 678}#
+                                                                               
      (cddr #{b\ 737}#)
+                                                                               
      #{r-cache\ 739}#
                                                                                
      '(())
-                                                                               
      #{mod\ 651}#)
-                                                                               
    #{mod\ 651}#))
-                                                                               
(#{loop\ 672}#
-                                                                               
  (cdr #{bs\ 673}#)
-                                                                               
  #{er\ 677}#
-                                                                               
  #{r-cache\ 678}#))))
-                                                                         
(#{loop\ 672}#
-                                                                           
(cdr #{bs\ 673}#)
-                                                                           
#{er-cache\ 674}#
-                                                                           
#{r-cache\ 675}#)))))))
-                                                        (#{loop\ 672}#
-                                                          #{bindings\ 642}#
+                                                                               
      #{mod\ 712}#)
+                                                                               
    #{mod\ 712}#))
+                                                                               
(#{loop\ 733}#
+                                                                               
  (cdr #{bs\ 734}#)
+                                                                               
  #{er\ 738}#
+                                                                               
  #{r-cache\ 739}#))))
+                                                                         
(#{loop\ 733}#
+                                                                           
(cdr #{bs\ 734}#)
+                                                                           
#{er-cache\ 735}#
+                                                                           
#{r-cache\ 736}#)))))))
+                                                        (#{loop\ 733}#
+                                                          #{bindings\ 703}#
                                                           #f
                                                           #f))
                                                       (set-cdr!
-                                                        #{r\ 632}#
+                                                        #{r\ 693}#
                                                         (#{extend-env\ 125}#
-                                                          #{labels\ 638}#
-                                                          #{bindings\ 642}#
-                                                          (cdr #{r\ 632}#)))
+                                                          #{labels\ 699}#
+                                                          #{bindings\ 703}#
+                                                          (cdr #{r\ 693}#)))
                                                       (#{build-letrec\ 113}#
                                                         #f
                                                         (map syntax->datum
-                                                             #{var-ids\ 639}#)
-                                                        #{vars\ 640}#
-                                                        (map (lambda (#{x\ 
679}#)
+                                                             #{var-ids\ 700}#)
+                                                        #{vars\ 701}#
+                                                        (map (lambda (#{x\ 
740}#)
                                                                (#{chi\ 167}#
-                                                                 (cdr #{x\ 
679}#)
-                                                                 (car #{x\ 
679}#)
+                                                                 (cdr #{x\ 
740}#)
+                                                                 (car #{x\ 
740}#)
                                                                  '(())
-                                                                 #{mod\ 651}#))
-                                                             #{vals\ 641}#)
+                                                                 #{mod\ 712}#))
+                                                             #{vals\ 702}#)
                                                         (#{build-sequence\ 
110}#
                                                           #f
-                                                          (map (lambda (#{x\ 
680}#)
+                                                          (map (lambda (#{x\ 
741}#)
                                                                  (#{chi\ 167}#
-                                                                   (cdr #{x\ 
680}#)
-                                                                   (car #{x\ 
680}#)
+                                                                   (cdr #{x\ 
741}#)
+                                                                   (car #{x\ 
741}#)
                                                                    '(())
-                                                                   #{mod\ 
651}#))
-                                                               (cons (cons 
#{er\ 645}#
+                                                                   #{mod\ 
712}#))
+                                                               (cons (cons 
#{er\ 706}#
                                                                            
(#{source-wrap\ 160}#
-                                                                             
#{e\ 648}#
-                                                                             
#{w\ 649}#
-                                                                             
#{s\ 650}#
-                                                                             
#{mod\ 651}#))
-                                                                     (cdr 
#{body\ 636}#))))))))))))))))))
-                       (#{parse\ 635}#
-                         (map (lambda (#{x\ 643}#)
-                                (cons #{r\ 632}#
+                                                                             
#{e\ 709}#
+                                                                             
#{w\ 710}#
+                                                                             
#{s\ 711}#
+                                                                             
#{mod\ 712}#))
+                                                                     (cdr 
#{body\ 697}#))))))))))))))))))
+                       (#{parse\ 696}#
+                         (map (lambda (#{x\ 704}#)
+                                (cons #{r\ 693}#
                                       (#{wrap\ 159}#
-                                        #{x\ 643}#
-                                        #{w\ 634}#
-                                        #{mod\ 631}#)))
-                              #{body\ 627}#)
+                                        #{x\ 704}#
+                                        #{w\ 695}#
+                                        #{mod\ 692}#)))
+                              #{body\ 688}#)
                          '()
                          '()
                          '()
@@ -2683,850 +2907,850 @@
                          '()
                          '())))))))
            (#{chi-macro\ 170}#
-             (lambda (#{p\ 681}#
-                      #{e\ 682}#
-                      #{r\ 683}#
-                      #{w\ 684}#
-                      #{rib\ 685}#
-                      #{mod\ 686}#)
-               (letrec ((#{rebuild-macro-output\ 687}#
-                          (lambda (#{x\ 688}# #{m\ 689}#)
-                            (if (pair? #{x\ 688}#)
-                              (cons (#{rebuild-macro-output\ 687}#
-                                      (car #{x\ 688}#)
-                                      #{m\ 689}#)
-                                    (#{rebuild-macro-output\ 687}#
-                                      (cdr #{x\ 688}#)
-                                      #{m\ 689}#))
-                              (if (#{syntax-object?\ 115}# #{x\ 688}#)
-                                (let ((#{w\ 690}# (#{syntax-object-wrap\ 117}#
-                                                    #{x\ 688}#)))
-                                  (let ((#{ms\ 691}#
-                                          (#{wrap-marks\ 134}# #{w\ 690}#))
-                                        (#{s\ 692}# (#{wrap-subst\ 135}#
-                                                      #{w\ 690}#)))
-                                    (if (if (pair? #{ms\ 691}#)
-                                          (eq? (car #{ms\ 691}#) #f)
+             (lambda (#{p\ 742}#
+                      #{e\ 743}#
+                      #{r\ 744}#
+                      #{w\ 745}#
+                      #{rib\ 746}#
+                      #{mod\ 747}#)
+               (letrec ((#{rebuild-macro-output\ 748}#
+                          (lambda (#{x\ 749}# #{m\ 750}#)
+                            (if (pair? #{x\ 749}#)
+                              (cons (#{rebuild-macro-output\ 748}#
+                                      (car #{x\ 749}#)
+                                      #{m\ 750}#)
+                                    (#{rebuild-macro-output\ 748}#
+                                      (cdr #{x\ 749}#)
+                                      #{m\ 750}#))
+                              (if (#{syntax-object?\ 115}# #{x\ 749}#)
+                                (let ((#{w\ 751}# (#{syntax-object-wrap\ 117}#
+                                                    #{x\ 749}#)))
+                                  (let ((#{ms\ 752}#
+                                          (#{wrap-marks\ 134}# #{w\ 751}#))
+                                        (#{s\ 753}# (#{wrap-subst\ 135}#
+                                                      #{w\ 751}#)))
+                                    (if (if (pair? #{ms\ 752}#)
+                                          (eq? (car #{ms\ 752}#) #f)
                                           #f)
                                       (#{make-syntax-object\ 114}#
                                         (#{syntax-object-expression\ 116}#
-                                          #{x\ 688}#)
+                                          #{x\ 749}#)
                                         (#{make-wrap\ 133}#
-                                          (cdr #{ms\ 691}#)
-                                          (if #{rib\ 685}#
-                                            (cons #{rib\ 685}#
-                                                  (cdr #{s\ 692}#))
-                                            (cdr #{s\ 692}#)))
+                                          (cdr #{ms\ 752}#)
+                                          (if #{rib\ 746}#
+                                            (cons #{rib\ 746}#
+                                                  (cdr #{s\ 753}#))
+                                            (cdr #{s\ 753}#)))
                                         (#{syntax-object-module\ 118}#
-                                          #{x\ 688}#))
+                                          #{x\ 749}#))
                                       (#{make-syntax-object\ 114}#
                                         (#{syntax-object-expression\ 116}#
-                                          #{x\ 688}#)
+                                          #{x\ 749}#)
                                         (#{make-wrap\ 133}#
-                                          (cons #{m\ 689}# #{ms\ 691}#)
-                                          (if #{rib\ 685}#
-                                            (cons #{rib\ 685}#
+                                          (cons #{m\ 750}# #{ms\ 752}#)
+                                          (if #{rib\ 746}#
+                                            (cons #{rib\ 746}#
                                                   (cons 'shift
-                                                        #{s\ 692}#))
-                                            (cons (quote shift) #{s\ 692}#)))
-                                        (let ((#{pmod\ 693}#
-                                                (procedure-module #{p\ 681}#)))
-                                          (if #{pmod\ 693}#
+                                                        #{s\ 753}#))
+                                            (cons (quote shift) #{s\ 753}#)))
+                                        (let ((#{pmod\ 754}#
+                                                (procedure-module #{p\ 742}#)))
+                                          (if #{pmod\ 754}#
                                             (cons 'hygiene
-                                                  (module-name #{pmod\ 693}#))
+                                                  (module-name #{pmod\ 754}#))
                                             '(hygiene guile)))))))
-                                (if (vector? #{x\ 688}#)
-                                  (let ((#{n\ 694}# (vector-length
-                                                      #{x\ 688}#)))
-                                    (let ((#{v\ 695}# (make-vector
-                                                        #{n\ 694}#)))
-                                      (letrec ((#{loop\ 696}#
-                                                 (lambda (#{i\ 697}#)
+                                (if (vector? #{x\ 749}#)
+                                  (let ((#{n\ 755}# (vector-length
+                                                      #{x\ 749}#)))
+                                    (let ((#{v\ 756}# (make-vector
+                                                        #{n\ 755}#)))
+                                      (letrec ((#{loop\ 757}#
+                                                 (lambda (#{i\ 758}#)
                                                    (if (#{fx=\ 88}#
-                                                         #{i\ 697}#
-                                                         #{n\ 694}#)
+                                                         #{i\ 758}#
+                                                         #{n\ 755}#)
                                                      (begin
                                                        (if #f #f)
-                                                       #{v\ 695}#)
+                                                       #{v\ 756}#)
                                                      (begin
                                                        (vector-set!
-                                                         #{v\ 695}#
-                                                         #{i\ 697}#
-                                                         
(#{rebuild-macro-output\ 687}#
+                                                         #{v\ 756}#
+                                                         #{i\ 758}#
+                                                         
(#{rebuild-macro-output\ 748}#
                                                            (vector-ref
-                                                             #{x\ 688}#
-                                                             #{i\ 697}#)
-                                                           #{m\ 689}#))
-                                                       (#{loop\ 696}#
+                                                             #{x\ 749}#
+                                                             #{i\ 758}#)
+                                                           #{m\ 750}#))
+                                                       (#{loop\ 757}#
                                                          (#{fx+\ 86}#
-                                                           #{i\ 697}#
+                                                           #{i\ 758}#
                                                            1)))))))
-                                        (#{loop\ 696}# 0))))
-                                  (if (symbol? #{x\ 688}#)
+                                        (#{loop\ 757}# 0))))
+                                  (if (symbol? #{x\ 749}#)
                                     (syntax-violation
                                       #f
                                       "encountered raw symbol in macro output"
                                       (#{source-wrap\ 160}#
-                                        #{e\ 682}#
-                                        #{w\ 684}#
-                                        (#{wrap-subst\ 135}# #{w\ 684}#)
-                                        #{mod\ 686}#)
-                                      #{x\ 688}#)
-                                    #{x\ 688}#)))))))
-                 (#{rebuild-macro-output\ 687}#
-                   (#{p\ 681}# (#{wrap\ 159}#
-                                 #{e\ 682}#
-                                 (#{anti-mark\ 146}# #{w\ 684}#)
-                                 #{mod\ 686}#))
+                                        #{e\ 743}#
+                                        #{w\ 745}#
+                                        (#{wrap-subst\ 135}# #{w\ 745}#)
+                                        #{mod\ 747}#)
+                                      #{x\ 749}#)
+                                    #{x\ 749}#)))))))
+                 (#{rebuild-macro-output\ 748}#
+                   (#{p\ 742}# (#{wrap\ 159}#
+                                 #{e\ 743}#
+                                 (#{anti-mark\ 146}# #{w\ 745}#)
+                                 #{mod\ 747}#))
                    (string #\m)))))
            (#{chi-application\ 169}#
-             (lambda (#{x\ 698}#
-                      #{e\ 699}#
-                      #{r\ 700}#
-                      #{w\ 701}#
-                      #{s\ 702}#
-                      #{mod\ 703}#)
-               ((lambda (#{tmp\ 704}#)
-                  ((lambda (#{tmp\ 705}#)
-                     (if #{tmp\ 705}#
-                       (apply (lambda (#{e0\ 706}# #{e1\ 707}#)
+             (lambda (#{x\ 759}#
+                      #{e\ 760}#
+                      #{r\ 761}#
+                      #{w\ 762}#
+                      #{s\ 763}#
+                      #{mod\ 764}#)
+               ((lambda (#{tmp\ 765}#)
+                  ((lambda (#{tmp\ 766}#)
+                     (if #{tmp\ 766}#
+                       (apply (lambda (#{e0\ 767}# #{e1\ 768}#)
                                 (#{build-application\ 96}#
-                                  #{s\ 702}#
-                                  #{x\ 698}#
-                                  (map (lambda (#{e\ 708}#)
+                                  #{s\ 763}#
+                                  #{x\ 759}#
+                                  (map (lambda (#{e\ 769}#)
                                          (#{chi\ 167}#
-                                           #{e\ 708}#
-                                           #{r\ 700}#
-                                           #{w\ 701}#
-                                           #{mod\ 703}#))
-                                       #{e1\ 707}#)))
-                              #{tmp\ 705}#)
+                                           #{e\ 769}#
+                                           #{r\ 761}#
+                                           #{w\ 762}#
+                                           #{mod\ 764}#))
+                                       #{e1\ 768}#)))
+                              #{tmp\ 766}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp\ 704}#)))
+                         #{tmp\ 765}#)))
                    ($sc-dispatch
-                     #{tmp\ 704}#
+                     #{tmp\ 765}#
                      '(any . each-any))))
-                #{e\ 699}#)))
+                #{e\ 760}#)))
            (#{chi-expr\ 168}#
-             (lambda (#{type\ 710}#
-                      #{value\ 711}#
-                      #{e\ 712}#
-                      #{r\ 713}#
-                      #{w\ 714}#
-                      #{s\ 715}#
-                      #{mod\ 716}#)
-               (if (memv #{type\ 710}# (quote (lexical)))
+             (lambda (#{type\ 771}#
+                      #{value\ 772}#
+                      #{e\ 773}#
+                      #{r\ 774}#
+                      #{w\ 775}#
+                      #{s\ 776}#
+                      #{mod\ 777}#)
+               (if (memv #{type\ 771}# (quote (lexical)))
                  (#{build-lexical-reference\ 98}#
                    'value
-                   #{s\ 715}#
-                   #{e\ 712}#
-                   #{value\ 711}#)
-                 (if (memv #{type\ 710}# (quote (core core-form)))
-                   (#{value\ 711}#
-                     #{e\ 712}#
-                     #{r\ 713}#
-                     #{w\ 714}#
-                     #{s\ 715}#
-                     #{mod\ 716}#)
-                   (if (memv #{type\ 710}# (quote (module-ref)))
+                   #{s\ 776}#
+                   #{e\ 773}#
+                   #{value\ 772}#)
+                 (if (memv #{type\ 771}# (quote (core core-form)))
+                   (#{value\ 772}#
+                     #{e\ 773}#
+                     #{r\ 774}#
+                     #{w\ 775}#
+                     #{s\ 776}#
+                     #{mod\ 777}#)
+                   (if (memv #{type\ 771}# (quote (module-ref)))
                      (call-with-values
-                       (lambda () (#{value\ 711}# #{e\ 712}#))
-                       (lambda (#{id\ 717}# #{mod\ 718}#)
+                       (lambda () (#{value\ 772}# #{e\ 773}#))
+                       (lambda (#{id\ 778}# #{mod\ 779}#)
                          (#{build-global-reference\ 101}#
-                           #{s\ 715}#
-                           #{id\ 717}#
-                           #{mod\ 718}#)))
-                     (if (memv #{type\ 710}# (quote (lexical-call)))
+                           #{s\ 776}#
+                           #{id\ 778}#
+                           #{mod\ 779}#)))
+                     (if (memv #{type\ 771}# (quote (lexical-call)))
                        (#{chi-application\ 169}#
                          (#{build-lexical-reference\ 98}#
                            'fun
-                           (#{source-annotation\ 122}# (car #{e\ 712}#))
-                           (car #{e\ 712}#)
-                           #{value\ 711}#)
-                         #{e\ 712}#
-                         #{r\ 713}#
-                         #{w\ 714}#
-                         #{s\ 715}#
-                         #{mod\ 716}#)
-                       (if (memv #{type\ 710}# (quote (global-call)))
+                           (#{source-annotation\ 122}# (car #{e\ 773}#))
+                           (car #{e\ 773}#)
+                           #{value\ 772}#)
+                         #{e\ 773}#
+                         #{r\ 774}#
+                         #{w\ 775}#
+                         #{s\ 776}#
+                         #{mod\ 777}#)
+                       (if (memv #{type\ 771}# (quote (global-call)))
                          (#{chi-application\ 169}#
                            (#{build-global-reference\ 101}#
-                             (#{source-annotation\ 122}# (car #{e\ 712}#))
-                             (if (#{syntax-object?\ 115}# #{value\ 711}#)
+                             (#{source-annotation\ 122}# (car #{e\ 773}#))
+                             (if (#{syntax-object?\ 115}# #{value\ 772}#)
                                (#{syntax-object-expression\ 116}#
-                                 #{value\ 711}#)
-                               #{value\ 711}#)
-                             (if (#{syntax-object?\ 115}# #{value\ 711}#)
-                               (#{syntax-object-module\ 118}# #{value\ 711}#)
-                               #{mod\ 716}#))
-                           #{e\ 712}#
-                           #{r\ 713}#
-                           #{w\ 714}#
-                           #{s\ 715}#
-                           #{mod\ 716}#)
-                         (if (memv #{type\ 710}# (quote (constant)))
+                                 #{value\ 772}#)
+                               #{value\ 772}#)
+                             (if (#{syntax-object?\ 115}# #{value\ 772}#)
+                               (#{syntax-object-module\ 118}# #{value\ 772}#)
+                               #{mod\ 777}#))
+                           #{e\ 773}#
+                           #{r\ 774}#
+                           #{w\ 775}#
+                           #{s\ 776}#
+                           #{mod\ 777}#)
+                         (if (memv #{type\ 771}# (quote (constant)))
                            (#{build-data\ 109}#
-                             #{s\ 715}#
+                             #{s\ 776}#
                              (#{strip\ 180}#
                                (#{source-wrap\ 160}#
-                                 #{e\ 712}#
-                                 #{w\ 714}#
-                                 #{s\ 715}#
-                                 #{mod\ 716}#)
+                                 #{e\ 773}#
+                                 #{w\ 775}#
+                                 #{s\ 776}#
+                                 #{mod\ 777}#)
                                '(())))
-                           (if (memv #{type\ 710}# (quote (global)))
+                           (if (memv #{type\ 771}# (quote (global)))
                              (#{build-global-reference\ 101}#
-                               #{s\ 715}#
-                               #{value\ 711}#
-                               #{mod\ 716}#)
-                             (if (memv #{type\ 710}# (quote (call)))
+                               #{s\ 776}#
+                               #{value\ 772}#
+                               #{mod\ 777}#)
+                             (if (memv #{type\ 771}# (quote (call)))
                                (#{chi-application\ 169}#
                                  (#{chi\ 167}#
-                                   (car #{e\ 712}#)
-                                   #{r\ 713}#
-                                   #{w\ 714}#
-                                   #{mod\ 716}#)
-                                 #{e\ 712}#
-                                 #{r\ 713}#
-                                 #{w\ 714}#
-                                 #{s\ 715}#
-                                 #{mod\ 716}#)
-                               (if (memv #{type\ 710}# (quote (begin-form)))
-                                 ((lambda (#{tmp\ 719}#)
-                                    ((lambda (#{tmp\ 720}#)
-                                       (if #{tmp\ 720}#
-                                         (apply (lambda (#{_\ 721}#
-                                                         #{e1\ 722}#
-                                                         #{e2\ 723}#)
+                                   (car #{e\ 773}#)
+                                   #{r\ 774}#
+                                   #{w\ 775}#
+                                   #{mod\ 777}#)
+                                 #{e\ 773}#
+                                 #{r\ 774}#
+                                 #{w\ 775}#
+                                 #{s\ 776}#
+                                 #{mod\ 777}#)
+                               (if (memv #{type\ 771}# (quote (begin-form)))
+                                 ((lambda (#{tmp\ 780}#)
+                                    ((lambda (#{tmp\ 781}#)
+                                       (if #{tmp\ 781}#
+                                         (apply (lambda (#{_\ 782}#
+                                                         #{e1\ 783}#
+                                                         #{e2\ 784}#)
                                                   (#{chi-sequence\ 161}#
-                                                    (cons #{e1\ 722}#
-                                                          #{e2\ 723}#)
-                                                    #{r\ 713}#
-                                                    #{w\ 714}#
-                                                    #{s\ 715}#
-                                                    #{mod\ 716}#))
-                                                #{tmp\ 720}#)
+                                                    (cons #{e1\ 783}#
+                                                          #{e2\ 784}#)
+                                                    #{r\ 774}#
+                                                    #{w\ 775}#
+                                                    #{s\ 776}#
+                                                    #{mod\ 777}#))
+                                                #{tmp\ 781}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp\ 719}#)))
+                                           #{tmp\ 780}#)))
                                      ($sc-dispatch
-                                       #{tmp\ 719}#
+                                       #{tmp\ 780}#
                                        '(any any . each-any))))
-                                  #{e\ 712}#)
-                                 (if (memv #{type\ 710}#
+                                  #{e\ 773}#)
+                                 (if (memv #{type\ 771}#
                                            '(local-syntax-form))
                                    (#{chi-local-syntax\ 172}#
-                                     #{value\ 711}#
-                                     #{e\ 712}#
-                                     #{r\ 713}#
-                                     #{w\ 714}#
-                                     #{s\ 715}#
-                                     #{mod\ 716}#
+                                     #{value\ 772}#
+                                     #{e\ 773}#
+                                     #{r\ 774}#
+                                     #{w\ 775}#
+                                     #{s\ 776}#
+                                     #{mod\ 777}#
                                      #{chi-sequence\ 161}#)
-                                   (if (memv #{type\ 710}#
+                                   (if (memv #{type\ 771}#
                                              '(eval-when-form))
-                                     ((lambda (#{tmp\ 725}#)
-                                        ((lambda (#{tmp\ 726}#)
-                                           (if #{tmp\ 726}#
-                                             (apply (lambda (#{_\ 727}#
-                                                             #{x\ 728}#
-                                                             #{e1\ 729}#
-                                                             #{e2\ 730}#)
-                                                      (let ((#{when-list\ 731}#
+                                     ((lambda (#{tmp\ 786}#)
+                                        ((lambda (#{tmp\ 787}#)
+                                           (if #{tmp\ 787}#
+                                             (apply (lambda (#{_\ 788}#
+                                                             #{x\ 789}#
+                                                             #{e1\ 790}#
+                                                             #{e2\ 791}#)
+                                                      (let ((#{when-list\ 792}#
                                                               
(#{chi-when-list\ 164}#
-                                                                #{e\ 712}#
-                                                                #{x\ 728}#
-                                                                #{w\ 714}#)))
+                                                                #{e\ 773}#
+                                                                #{x\ 789}#
+                                                                #{w\ 775}#)))
                                                         (if (memq 'eval
-                                                                  #{when-list\ 
731}#)
+                                                                  #{when-list\ 
792}#)
                                                           (#{chi-sequence\ 
161}#
-                                                            (cons #{e1\ 729}#
-                                                                  #{e2\ 730}#)
-                                                            #{r\ 713}#
-                                                            #{w\ 714}#
-                                                            #{s\ 715}#
-                                                            #{mod\ 716}#)
+                                                            (cons #{e1\ 790}#
+                                                                  #{e2\ 791}#)
+                                                            #{r\ 774}#
+                                                            #{w\ 775}#
+                                                            #{s\ 776}#
+                                                            #{mod\ 777}#)
                                                           (#{chi-void\ 
174}#))))
-                                                    #{tmp\ 726}#)
+                                                    #{tmp\ 787}#)
                                              (syntax-violation
                                                #f
                                                "source expression failed to 
match any pattern"
-                                               #{tmp\ 725}#)))
+                                               #{tmp\ 786}#)))
                                          ($sc-dispatch
-                                           #{tmp\ 725}#
+                                           #{tmp\ 786}#
                                            '(any each-any any . each-any))))
-                                      #{e\ 712}#)
-                                     (if (memv #{type\ 710}#
+                                      #{e\ 773}#)
+                                     (if (memv #{type\ 771}#
                                                '(define-form
                                                   define-syntax-form))
                                        (syntax-violation
                                          #f
                                          "definition in expression context"
-                                         #{e\ 712}#
+                                         #{e\ 773}#
                                          (#{wrap\ 159}#
-                                           #{value\ 711}#
-                                           #{w\ 714}#
-                                           #{mod\ 716}#))
-                                       (if (memv #{type\ 710}#
+                                           #{value\ 772}#
+                                           #{w\ 775}#
+                                           #{mod\ 777}#))
+                                       (if (memv #{type\ 771}#
                                                  '(syntax))
                                          (syntax-violation
                                            #f
                                            "reference to pattern variable 
outside syntax form"
                                            (#{source-wrap\ 160}#
-                                             #{e\ 712}#
-                                             #{w\ 714}#
-                                             #{s\ 715}#
-                                             #{mod\ 716}#))
-                                         (if (memv #{type\ 710}#
+                                             #{e\ 773}#
+                                             #{w\ 775}#
+                                             #{s\ 776}#
+                                             #{mod\ 777}#))
+                                         (if (memv #{type\ 771}#
                                                    '(displaced-lexical))
                                            (syntax-violation
                                              #f
                                              "reference to identifier outside 
its scope"
                                              (#{source-wrap\ 160}#
-                                               #{e\ 712}#
-                                               #{w\ 714}#
-                                               #{s\ 715}#
-                                               #{mod\ 716}#))
+                                               #{e\ 773}#
+                                               #{w\ 775}#
+                                               #{s\ 776}#
+                                               #{mod\ 777}#))
                                            (syntax-violation
                                              #f
                                              "unexpected syntax"
                                              (#{source-wrap\ 160}#
-                                               #{e\ 712}#
-                                               #{w\ 714}#
-                                               #{s\ 715}#
-                                               #{mod\ 716}#))))))))))))))))))
+                                               #{e\ 773}#
+                                               #{w\ 775}#
+                                               #{s\ 776}#
+                                               #{mod\ 777}#))))))))))))))))))
            (#{chi\ 167}#
-             (lambda (#{e\ 734}# #{r\ 735}# #{w\ 736}# #{mod\ 737}#)
+             (lambda (#{e\ 795}# #{r\ 796}# #{w\ 797}# #{mod\ 798}#)
                (call-with-values
                  (lambda ()
                    (#{syntax-type\ 165}#
-                     #{e\ 734}#
-                     #{r\ 735}#
-                     #{w\ 736}#
-                     (#{source-annotation\ 122}# #{e\ 734}#)
+                     #{e\ 795}#
+                     #{r\ 796}#
+                     #{w\ 797}#
+                     (#{source-annotation\ 122}# #{e\ 795}#)
                      #f
-                     #{mod\ 737}#
+                     #{mod\ 798}#
                      #f))
-                 (lambda (#{type\ 738}#
-                          #{value\ 739}#
-                          #{e\ 740}#
-                          #{w\ 741}#
-                          #{s\ 742}#
-                          #{mod\ 743}#)
+                 (lambda (#{type\ 799}#
+                          #{value\ 800}#
+                          #{e\ 801}#
+                          #{w\ 802}#
+                          #{s\ 803}#
+                          #{mod\ 804}#)
                    (#{chi-expr\ 168}#
-                     #{type\ 738}#
-                     #{value\ 739}#
-                     #{e\ 740}#
-                     #{r\ 735}#
-                     #{w\ 741}#
-                     #{s\ 742}#
-                     #{mod\ 743}#)))))
+                     #{type\ 799}#
+                     #{value\ 800}#
+                     #{e\ 801}#
+                     #{r\ 796}#
+                     #{w\ 802}#
+                     #{s\ 803}#
+                     #{mod\ 804}#)))))
            (#{chi-top\ 166}#
-             (lambda (#{e\ 744}#
-                      #{r\ 745}#
-                      #{w\ 746}#
-                      #{m\ 747}#
-                      #{esew\ 748}#
-                      #{mod\ 749}#)
+             (lambda (#{e\ 805}#
+                      #{r\ 806}#
+                      #{w\ 807}#
+                      #{m\ 808}#
+                      #{esew\ 809}#
+                      #{mod\ 810}#)
                (call-with-values
                  (lambda ()
                    (#{syntax-type\ 165}#
-                     #{e\ 744}#
-                     #{r\ 745}#
-                     #{w\ 746}#
-                     (#{source-annotation\ 122}# #{e\ 744}#)
+                     #{e\ 805}#
+                     #{r\ 806}#
+                     #{w\ 807}#
+                     (#{source-annotation\ 122}# #{e\ 805}#)
                      #f
-                     #{mod\ 749}#
+                     #{mod\ 810}#
                      #f))
-                 (lambda (#{type\ 757}#
-                          #{value\ 758}#
-                          #{e\ 759}#
-                          #{w\ 760}#
-                          #{s\ 761}#
-                          #{mod\ 762}#)
-                   (if (memv #{type\ 757}# (quote (begin-form)))
-                     ((lambda (#{tmp\ 763}#)
-                        ((lambda (#{tmp\ 764}#)
-                           (if #{tmp\ 764}#
-                             (apply (lambda (#{_\ 765}#) (#{chi-void\ 174}#))
-                                    #{tmp\ 764}#)
-                             ((lambda (#{tmp\ 766}#)
-                                (if #{tmp\ 766}#
-                                  (apply (lambda (#{_\ 767}#
-                                                  #{e1\ 768}#
-                                                  #{e2\ 769}#)
+                 (lambda (#{type\ 818}#
+                          #{value\ 819}#
+                          #{e\ 820}#
+                          #{w\ 821}#
+                          #{s\ 822}#
+                          #{mod\ 823}#)
+                   (if (memv #{type\ 818}# (quote (begin-form)))
+                     ((lambda (#{tmp\ 824}#)
+                        ((lambda (#{tmp\ 825}#)
+                           (if #{tmp\ 825}#
+                             (apply (lambda (#{_\ 826}#) (#{chi-void\ 174}#))
+                                    #{tmp\ 825}#)
+                             ((lambda (#{tmp\ 827}#)
+                                (if #{tmp\ 827}#
+                                  (apply (lambda (#{_\ 828}#
+                                                  #{e1\ 829}#
+                                                  #{e2\ 830}#)
                                            (#{chi-top-sequence\ 162}#
-                                             (cons #{e1\ 768}# #{e2\ 769}#)
-                                             #{r\ 745}#
-                                             #{w\ 760}#
-                                             #{s\ 761}#
-                                             #{m\ 747}#
-                                             #{esew\ 748}#
-                                             #{mod\ 762}#))
-                                         #{tmp\ 766}#)
+                                             (cons #{e1\ 829}# #{e2\ 830}#)
+                                             #{r\ 806}#
+                                             #{w\ 821}#
+                                             #{s\ 822}#
+                                             #{m\ 808}#
+                                             #{esew\ 809}#
+                                             #{mod\ 823}#))
+                                         #{tmp\ 827}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{tmp\ 763}#)))
+                                    #{tmp\ 824}#)))
                               ($sc-dispatch
-                                #{tmp\ 763}#
+                                #{tmp\ 824}#
                                 '(any any . each-any)))))
-                         ($sc-dispatch #{tmp\ 763}# (quote (any)))))
-                      #{e\ 759}#)
-                     (if (memv #{type\ 757}# (quote (local-syntax-form)))
+                         ($sc-dispatch #{tmp\ 824}# (quote (any)))))
+                      #{e\ 820}#)
+                     (if (memv #{type\ 818}# (quote (local-syntax-form)))
                        (#{chi-local-syntax\ 172}#
-                         #{value\ 758}#
-                         #{e\ 759}#
-                         #{r\ 745}#
-                         #{w\ 760}#
-                         #{s\ 761}#
-                         #{mod\ 762}#
-                         (lambda (#{body\ 771}#
-                                  #{r\ 772}#
-                                  #{w\ 773}#
-                                  #{s\ 774}#
-                                  #{mod\ 775}#)
+                         #{value\ 819}#
+                         #{e\ 820}#
+                         #{r\ 806}#
+                         #{w\ 821}#
+                         #{s\ 822}#
+                         #{mod\ 823}#
+                         (lambda (#{body\ 832}#
+                                  #{r\ 833}#
+                                  #{w\ 834}#
+                                  #{s\ 835}#
+                                  #{mod\ 836}#)
                            (#{chi-top-sequence\ 162}#
-                             #{body\ 771}#
-                             #{r\ 772}#
-                             #{w\ 773}#
-                             #{s\ 774}#
-                             #{m\ 747}#
-                             #{esew\ 748}#
-                             #{mod\ 775}#)))
-                       (if (memv #{type\ 757}# (quote (eval-when-form)))
-                         ((lambda (#{tmp\ 776}#)
-                            ((lambda (#{tmp\ 777}#)
-                               (if #{tmp\ 777}#
-                                 (apply (lambda (#{_\ 778}#
-                                                 #{x\ 779}#
-                                                 #{e1\ 780}#
-                                                 #{e2\ 781}#)
-                                          (let ((#{when-list\ 782}#
+                             #{body\ 832}#
+                             #{r\ 833}#
+                             #{w\ 834}#
+                             #{s\ 835}#
+                             #{m\ 808}#
+                             #{esew\ 809}#
+                             #{mod\ 836}#)))
+                       (if (memv #{type\ 818}# (quote (eval-when-form)))
+                         ((lambda (#{tmp\ 837}#)
+                            ((lambda (#{tmp\ 838}#)
+                               (if #{tmp\ 838}#
+                                 (apply (lambda (#{_\ 839}#
+                                                 #{x\ 840}#
+                                                 #{e1\ 841}#
+                                                 #{e2\ 842}#)
+                                          (let ((#{when-list\ 843}#
                                                   (#{chi-when-list\ 164}#
-                                                    #{e\ 759}#
-                                                    #{x\ 779}#
-                                                    #{w\ 760}#))
-                                                (#{body\ 783}#
-                                                  (cons #{e1\ 780}#
-                                                        #{e2\ 781}#)))
-                                            (if (eq? #{m\ 747}# (quote e))
+                                                    #{e\ 820}#
+                                                    #{x\ 840}#
+                                                    #{w\ 821}#))
+                                                (#{body\ 844}#
+                                                  (cons #{e1\ 841}#
+                                                        #{e2\ 842}#)))
+                                            (if (eq? #{m\ 808}# (quote e))
                                               (if (memq 'eval
-                                                        #{when-list\ 782}#)
+                                                        #{when-list\ 843}#)
                                                 (#{chi-top-sequence\ 162}#
-                                                  #{body\ 783}#
-                                                  #{r\ 745}#
-                                                  #{w\ 760}#
-                                                  #{s\ 761}#
+                                                  #{body\ 844}#
+                                                  #{r\ 806}#
+                                                  #{w\ 821}#
+                                                  #{s\ 822}#
                                                   'e
                                                   '(eval)
-                                                  #{mod\ 762}#)
+                                                  #{mod\ 823}#)
                                                 (#{chi-void\ 174}#))
                                               (if (memq 'load
-                                                        #{when-list\ 782}#)
-                                                (if (let ((#{t\ 786}# (memq 
'compile
-                                                                            
#{when-list\ 782}#)))
-                                                      (if #{t\ 786}#
-                                                        #{t\ 786}#
-                                                        (if (eq? #{m\ 747}#
+                                                        #{when-list\ 843}#)
+                                                (if (let ((#{t\ 847}# (memq 
'compile
+                                                                            
#{when-list\ 843}#)))
+                                                      (if #{t\ 847}#
+                                                        #{t\ 847}#
+                                                        (if (eq? #{m\ 808}#
                                                                  'c&e)
                                                           (memq 'eval
-                                                                #{when-list\ 
782}#)
+                                                                #{when-list\ 
843}#)
                                                           #f)))
                                                   (#{chi-top-sequence\ 162}#
-                                                    #{body\ 783}#
-                                                    #{r\ 745}#
-                                                    #{w\ 760}#
-                                                    #{s\ 761}#
+                                                    #{body\ 844}#
+                                                    #{r\ 806}#
+                                                    #{w\ 821}#
+                                                    #{s\ 822}#
                                                     'c&e
                                                     '(compile load)
-                                                    #{mod\ 762}#)
-                                                  (if (memq #{m\ 747}#
+                                                    #{mod\ 823}#)
+                                                  (if (memq #{m\ 808}#
                                                             '(c c&e))
                                                     (#{chi-top-sequence\ 162}#
-                                                      #{body\ 783}#
-                                                      #{r\ 745}#
-                                                      #{w\ 760}#
-                                                      #{s\ 761}#
+                                                      #{body\ 844}#
+                                                      #{r\ 806}#
+                                                      #{w\ 821}#
+                                                      #{s\ 822}#
                                                       'c
                                                       '(load)
-                                                      #{mod\ 762}#)
+                                                      #{mod\ 823}#)
                                                     (#{chi-void\ 174}#)))
-                                                (if (let ((#{t\ 787}# (memq 
'compile
-                                                                            
#{when-list\ 782}#)))
-                                                      (if #{t\ 787}#
-                                                        #{t\ 787}#
-                                                        (if (eq? #{m\ 747}#
+                                                (if (let ((#{t\ 848}# (memq 
'compile
+                                                                            
#{when-list\ 843}#)))
+                                                      (if #{t\ 848}#
+                                                        #{t\ 848}#
+                                                        (if (eq? #{m\ 808}#
                                                                  'c&e)
                                                           (memq 'eval
-                                                                #{when-list\ 
782}#)
+                                                                #{when-list\ 
843}#)
                                                           #f)))
                                                   (begin
                                                     (#{top-level-eval-hook\ 
90}#
                                                       (#{chi-top-sequence\ 
162}#
-                                                        #{body\ 783}#
-                                                        #{r\ 745}#
-                                                        #{w\ 760}#
-                                                        #{s\ 761}#
+                                                        #{body\ 844}#
+                                                        #{r\ 806}#
+                                                        #{w\ 821}#
+                                                        #{s\ 822}#
                                                         'e
                                                         '(eval)
-                                                        #{mod\ 762}#)
-                                                      #{mod\ 762}#)
+                                                        #{mod\ 823}#)
+                                                      #{mod\ 823}#)
                                                     (#{chi-void\ 174}#))
                                                   (#{chi-void\ 174}#))))))
-                                        #{tmp\ 777}#)
+                                        #{tmp\ 838}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any 
pattern"
-                                   #{tmp\ 776}#)))
+                                   #{tmp\ 837}#)))
                              ($sc-dispatch
-                               #{tmp\ 776}#
+                               #{tmp\ 837}#
                                '(any each-any any . each-any))))
-                          #{e\ 759}#)
-                         (if (memv #{type\ 757}# (quote (define-syntax-form)))
-                           (let ((#{n\ 788}# (#{id-var-name\ 153}#
-                                               #{value\ 758}#
-                                               #{w\ 760}#))
-                                 (#{r\ 789}# (#{macros-only-env\ 127}#
-                                               #{r\ 745}#)))
-                             (if (memv #{m\ 747}# (quote (c)))
-                               (if (memq (quote compile) #{esew\ 748}#)
-                                 (let ((#{e\ 790}# (#{chi-install-global\ 163}#
-                                                     #{n\ 788}#
+                          #{e\ 820}#)
+                         (if (memv #{type\ 818}# (quote (define-syntax-form)))
+                           (let ((#{n\ 849}# (#{id-var-name\ 153}#
+                                               #{value\ 819}#
+                                               #{w\ 821}#))
+                                 (#{r\ 850}# (#{macros-only-env\ 127}#
+                                               #{r\ 806}#)))
+                             (if (memv #{m\ 808}# (quote (c)))
+                               (if (memq (quote compile) #{esew\ 809}#)
+                                 (let ((#{e\ 851}# (#{chi-install-global\ 163}#
+                                                     #{n\ 849}#
                                                      (#{chi\ 167}#
-                                                       #{e\ 759}#
-                                                       #{r\ 789}#
-                                                       #{w\ 760}#
-                                                       #{mod\ 762}#))))
+                                                       #{e\ 820}#
+                                                       #{r\ 850}#
+                                                       #{w\ 821}#
+                                                       #{mod\ 823}#))))
                                    (begin
                                      (#{top-level-eval-hook\ 90}#
-                                       #{e\ 790}#
-                                       #{mod\ 762}#)
-                                     (if (memq (quote load) #{esew\ 748}#)
-                                       #{e\ 790}#
+                                       #{e\ 851}#
+                                       #{mod\ 823}#)
+                                     (if (memq (quote load) #{esew\ 809}#)
+                                       #{e\ 851}#
                                        (#{chi-void\ 174}#))))
-                                 (if (memq (quote load) #{esew\ 748}#)
+                                 (if (memq (quote load) #{esew\ 809}#)
                                    (#{chi-install-global\ 163}#
-                                     #{n\ 788}#
+                                     #{n\ 849}#
                                      (#{chi\ 167}#
-                                       #{e\ 759}#
-                                       #{r\ 789}#
-                                       #{w\ 760}#
-                                       #{mod\ 762}#))
+                                       #{e\ 820}#
+                                       #{r\ 850}#
+                                       #{w\ 821}#
+                                       #{mod\ 823}#))
                                    (#{chi-void\ 174}#)))
-                               (if (memv #{m\ 747}# (quote (c&e)))
-                                 (let ((#{e\ 791}# (#{chi-install-global\ 163}#
-                                                     #{n\ 788}#
+                               (if (memv #{m\ 808}# (quote (c&e)))
+                                 (let ((#{e\ 852}# (#{chi-install-global\ 163}#
+                                                     #{n\ 849}#
                                                      (#{chi\ 167}#
-                                                       #{e\ 759}#
-                                                       #{r\ 789}#
-                                                       #{w\ 760}#
-                                                       #{mod\ 762}#))))
+                                                       #{e\ 820}#
+                                                       #{r\ 850}#
+                                                       #{w\ 821}#
+                                                       #{mod\ 823}#))))
                                    (begin
                                      (#{top-level-eval-hook\ 90}#
-                                       #{e\ 791}#
-                                       #{mod\ 762}#)
-                                     #{e\ 791}#))
+                                       #{e\ 852}#
+                                       #{mod\ 823}#)
+                                     #{e\ 852}#))
                                  (begin
-                                   (if (memq (quote eval) #{esew\ 748}#)
+                                   (if (memq (quote eval) #{esew\ 809}#)
                                      (#{top-level-eval-hook\ 90}#
                                        (#{chi-install-global\ 163}#
-                                         #{n\ 788}#
+                                         #{n\ 849}#
                                          (#{chi\ 167}#
-                                           #{e\ 759}#
-                                           #{r\ 789}#
-                                           #{w\ 760}#
-                                           #{mod\ 762}#))
-                                       #{mod\ 762}#))
+                                           #{e\ 820}#
+                                           #{r\ 850}#
+                                           #{w\ 821}#
+                                           #{mod\ 823}#))
+                                       #{mod\ 823}#))
                                    (#{chi-void\ 174}#)))))
-                           (if (memv #{type\ 757}# (quote (define-form)))
-                             (let ((#{n\ 792}# (#{id-var-name\ 153}#
-                                                 #{value\ 758}#
-                                                 #{w\ 760}#)))
-                               (let ((#{type\ 793}#
+                           (if (memv #{type\ 818}# (quote (define-form)))
+                             (let ((#{n\ 853}# (#{id-var-name\ 153}#
+                                                 #{value\ 819}#
+                                                 #{w\ 821}#)))
+                               (let ((#{type\ 854}#
                                        (#{binding-type\ 123}#
                                          (#{lookup\ 128}#
-                                           #{n\ 792}#
-                                           #{r\ 745}#
-                                           #{mod\ 762}#))))
-                                 (if (memv #{type\ 793}#
+                                           #{n\ 853}#
+                                           #{r\ 806}#
+                                           #{mod\ 823}#))))
+                                 (if (memv #{type\ 854}#
                                            '(global core macro module-ref))
                                    (begin
                                      (if (if (not (module-local-variable
                                                     (current-module)
-                                                    #{n\ 792}#))
+                                                    #{n\ 853}#))
                                            (current-module)
                                            #f)
-                                       (let ((#{old\ 794}#
+                                       (let ((#{old\ 855}#
                                                (module-variable
                                                  (current-module)
-                                                 #{n\ 792}#)))
+                                                 #{n\ 853}#)))
                                          (module-define!
                                            (current-module)
-                                           #{n\ 792}#
-                                           (if (variable? #{old\ 794}#)
-                                             (variable-ref #{old\ 794}#)
+                                           #{n\ 853}#
+                                           (if (variable? #{old\ 855}#)
+                                             (variable-ref #{old\ 855}#)
                                              #f))))
-                                     (let ((#{x\ 795}# 
(#{build-global-definition\ 104}#
-                                                         #{s\ 761}#
-                                                         #{n\ 792}#
+                                     (let ((#{x\ 856}# 
(#{build-global-definition\ 104}#
+                                                         #{s\ 822}#
+                                                         #{n\ 853}#
                                                          (#{chi\ 167}#
-                                                           #{e\ 759}#
-                                                           #{r\ 745}#
-                                                           #{w\ 760}#
-                                                           #{mod\ 762}#))))
+                                                           #{e\ 820}#
+                                                           #{r\ 806}#
+                                                           #{w\ 821}#
+                                                           #{mod\ 823}#))))
                                        (begin
-                                         (if (eq? #{m\ 747}# (quote c&e))
+                                         (if (eq? #{m\ 808}# (quote c&e))
                                            (#{top-level-eval-hook\ 90}#
-                                             #{x\ 795}#
-                                             #{mod\ 762}#))
-                                         #{x\ 795}#)))
-                                   (if (memv #{type\ 793}#
+                                             #{x\ 856}#
+                                             #{mod\ 823}#))
+                                         #{x\ 856}#)))
+                                   (if (memv #{type\ 854}#
                                              '(displaced-lexical))
                                      (syntax-violation
                                        #f
                                        "identifier out of context"
-                                       #{e\ 759}#
+                                       #{e\ 820}#
                                        (#{wrap\ 159}#
-                                         #{value\ 758}#
-                                         #{w\ 760}#
-                                         #{mod\ 762}#))
+                                         #{value\ 819}#
+                                         #{w\ 821}#
+                                         #{mod\ 823}#))
                                      (syntax-violation
                                        #f
                                        "cannot define keyword at top level"
-                                       #{e\ 759}#
+                                       #{e\ 820}#
                                        (#{wrap\ 159}#
-                                         #{value\ 758}#
-                                         #{w\ 760}#
-                                         #{mod\ 762}#))))))
-                             (let ((#{x\ 796}# (#{chi-expr\ 168}#
-                                                 #{type\ 757}#
-                                                 #{value\ 758}#
-                                                 #{e\ 759}#
-                                                 #{r\ 745}#
-                                                 #{w\ 760}#
-                                                 #{s\ 761}#
-                                                 #{mod\ 762}#)))
+                                         #{value\ 819}#
+                                         #{w\ 821}#
+                                         #{mod\ 823}#))))))
+                             (let ((#{x\ 857}# (#{chi-expr\ 168}#
+                                                 #{type\ 818}#
+                                                 #{value\ 819}#
+                                                 #{e\ 820}#
+                                                 #{r\ 806}#
+                                                 #{w\ 821}#
+                                                 #{s\ 822}#
+                                                 #{mod\ 823}#)))
                                (begin
-                                 (if (eq? #{m\ 747}# (quote c&e))
+                                 (if (eq? #{m\ 808}# (quote c&e))
                                    (#{top-level-eval-hook\ 90}#
-                                     #{x\ 796}#
-                                     #{mod\ 762}#))
-                                 #{x\ 796}#)))))))))))
+                                     #{x\ 857}#
+                                     #{mod\ 823}#))
+                                 #{x\ 857}#)))))))))))
            (#{syntax-type\ 165}#
-             (lambda (#{e\ 797}#
-                      #{r\ 798}#
-                      #{w\ 799}#
-                      #{s\ 800}#
-                      #{rib\ 801}#
-                      #{mod\ 802}#
-                      #{for-car?\ 803}#)
-               (if (symbol? #{e\ 797}#)
-                 (let ((#{n\ 804}# (#{id-var-name\ 153}#
-                                     #{e\ 797}#
-                                     #{w\ 799}#)))
-                   (let ((#{b\ 805}# (#{lookup\ 128}#
-                                       #{n\ 804}#
-                                       #{r\ 798}#
-                                       #{mod\ 802}#)))
-                     (let ((#{type\ 806}#
-                             (#{binding-type\ 123}# #{b\ 805}#)))
-                       (if (memv #{type\ 806}# (quote (lexical)))
+             (lambda (#{e\ 858}#
+                      #{r\ 859}#
+                      #{w\ 860}#
+                      #{s\ 861}#
+                      #{rib\ 862}#
+                      #{mod\ 863}#
+                      #{for-car?\ 864}#)
+               (if (symbol? #{e\ 858}#)
+                 (let ((#{n\ 865}# (#{id-var-name\ 153}#
+                                     #{e\ 858}#
+                                     #{w\ 860}#)))
+                   (let ((#{b\ 866}# (#{lookup\ 128}#
+                                       #{n\ 865}#
+                                       #{r\ 859}#
+                                       #{mod\ 863}#)))
+                     (let ((#{type\ 867}#
+                             (#{binding-type\ 123}# #{b\ 866}#)))
+                       (if (memv #{type\ 867}# (quote (lexical)))
                          (values
-                           #{type\ 806}#
-                           (#{binding-value\ 124}# #{b\ 805}#)
-                           #{e\ 797}#
-                           #{w\ 799}#
-                           #{s\ 800}#
-                           #{mod\ 802}#)
-                         (if (memv #{type\ 806}# (quote (global)))
+                           #{type\ 867}#
+                           (#{binding-value\ 124}# #{b\ 866}#)
+                           #{e\ 858}#
+                           #{w\ 860}#
+                           #{s\ 861}#
+                           #{mod\ 863}#)
+                         (if (memv #{type\ 867}# (quote (global)))
                            (values
-                             #{type\ 806}#
-                             #{n\ 804}#
-                             #{e\ 797}#
-                             #{w\ 799}#
-                             #{s\ 800}#
-                             #{mod\ 802}#)
-                           (if (memv #{type\ 806}# (quote (macro)))
-                             (if #{for-car?\ 803}#
+                             #{type\ 867}#
+                             #{n\ 865}#
+                             #{e\ 858}#
+                             #{w\ 860}#
+                             #{s\ 861}#
+                             #{mod\ 863}#)
+                           (if (memv #{type\ 867}# (quote (macro)))
+                             (if #{for-car?\ 864}#
                                (values
-                                 #{type\ 806}#
-                                 (#{binding-value\ 124}# #{b\ 805}#)
-                                 #{e\ 797}#
-                                 #{w\ 799}#
-                                 #{s\ 800}#
-                                 #{mod\ 802}#)
+                                 #{type\ 867}#
+                                 (#{binding-value\ 124}# #{b\ 866}#)
+                                 #{e\ 858}#
+                                 #{w\ 860}#
+                                 #{s\ 861}#
+                                 #{mod\ 863}#)
                                (#{syntax-type\ 165}#
                                  (#{chi-macro\ 170}#
-                                   (#{binding-value\ 124}# #{b\ 805}#)
-                                   #{e\ 797}#
-                                   #{r\ 798}#
-                                   #{w\ 799}#
-                                   #{rib\ 801}#
-                                   #{mod\ 802}#)
-                                 #{r\ 798}#
+                                   (#{binding-value\ 124}# #{b\ 866}#)
+                                   #{e\ 858}#
+                                   #{r\ 859}#
+                                   #{w\ 860}#
+                                   #{rib\ 862}#
+                                   #{mod\ 863}#)
+                                 #{r\ 859}#
                                  '(())
-                                 #{s\ 800}#
-                                 #{rib\ 801}#
-                                 #{mod\ 802}#
+                                 #{s\ 861}#
+                                 #{rib\ 862}#
+                                 #{mod\ 863}#
                                  #f))
                              (values
-                               #{type\ 806}#
-                               (#{binding-value\ 124}# #{b\ 805}#)
-                               #{e\ 797}#
-                               #{w\ 799}#
-                               #{s\ 800}#
-                               #{mod\ 802}#)))))))
-                 (if (pair? #{e\ 797}#)
-                   (let ((#{first\ 807}# (car #{e\ 797}#)))
+                               #{type\ 867}#
+                               (#{binding-value\ 124}# #{b\ 866}#)
+                               #{e\ 858}#
+                               #{w\ 860}#
+                               #{s\ 861}#
+                               #{mod\ 863}#)))))))
+                 (if (pair? #{e\ 858}#)
+                   (let ((#{first\ 868}# (car #{e\ 858}#)))
                      (call-with-values
                        (lambda ()
                          (#{syntax-type\ 165}#
-                           #{first\ 807}#
-                           #{r\ 798}#
-                           #{w\ 799}#
-                           #{s\ 800}#
-                           #{rib\ 801}#
-                           #{mod\ 802}#
+                           #{first\ 868}#
+                           #{r\ 859}#
+                           #{w\ 860}#
+                           #{s\ 861}#
+                           #{rib\ 862}#
+                           #{mod\ 863}#
                            #t))
-                       (lambda (#{ftype\ 808}#
-                                #{fval\ 809}#
-                                #{fe\ 810}#
-                                #{fw\ 811}#
-                                #{fs\ 812}#
-                                #{fmod\ 813}#)
-                         (if (memv #{ftype\ 808}# (quote (lexical)))
+                       (lambda (#{ftype\ 869}#
+                                #{fval\ 870}#
+                                #{fe\ 871}#
+                                #{fw\ 872}#
+                                #{fs\ 873}#
+                                #{fmod\ 874}#)
+                         (if (memv #{ftype\ 869}# (quote (lexical)))
                            (values
                              'lexical-call
-                             #{fval\ 809}#
-                             #{e\ 797}#
-                             #{w\ 799}#
-                             #{s\ 800}#
-                             #{mod\ 802}#)
-                           (if (memv #{ftype\ 808}# (quote (global)))
+                             #{fval\ 870}#
+                             #{e\ 858}#
+                             #{w\ 860}#
+                             #{s\ 861}#
+                             #{mod\ 863}#)
+                           (if (memv #{ftype\ 869}# (quote (global)))
                              (values
                                'global-call
                                (#{make-syntax-object\ 114}#
-                                 #{fval\ 809}#
-                                 #{w\ 799}#
-                                 #{fmod\ 813}#)
-                               #{e\ 797}#
-                               #{w\ 799}#
-                               #{s\ 800}#
-                               #{mod\ 802}#)
-                             (if (memv #{ftype\ 808}# (quote (macro)))
+                                 #{fval\ 870}#
+                                 #{w\ 860}#
+                                 #{fmod\ 874}#)
+                               #{e\ 858}#
+                               #{w\ 860}#
+                               #{s\ 861}#
+                               #{mod\ 863}#)
+                             (if (memv #{ftype\ 869}# (quote (macro)))
                                (#{syntax-type\ 165}#
                                  (#{chi-macro\ 170}#
-                                   #{fval\ 809}#
-                                   #{e\ 797}#
-                                   #{r\ 798}#
-                                   #{w\ 799}#
-                                   #{rib\ 801}#
-                                   #{mod\ 802}#)
-                                 #{r\ 798}#
+                                   #{fval\ 870}#
+                                   #{e\ 858}#
+                                   #{r\ 859}#
+                                   #{w\ 860}#
+                                   #{rib\ 862}#
+                                   #{mod\ 863}#)
+                                 #{r\ 859}#
                                  '(())
-                                 #{s\ 800}#
-                                 #{rib\ 801}#
-                                 #{mod\ 802}#
-                                 #{for-car?\ 803}#)
-                               (if (memv #{ftype\ 808}# (quote (module-ref)))
+                                 #{s\ 861}#
+                                 #{rib\ 862}#
+                                 #{mod\ 863}#
+                                 #{for-car?\ 864}#)
+                               (if (memv #{ftype\ 869}# (quote (module-ref)))
                                  (call-with-values
-                                   (lambda () (#{fval\ 809}# #{e\ 797}#))
-                                   (lambda (#{sym\ 814}# #{mod\ 815}#)
+                                   (lambda () (#{fval\ 870}# #{e\ 858}#))
+                                   (lambda (#{sym\ 875}# #{mod\ 876}#)
                                      (#{syntax-type\ 165}#
-                                       #{sym\ 814}#
-                                       #{r\ 798}#
-                                       #{w\ 799}#
-                                       #{s\ 800}#
-                                       #{rib\ 801}#
-                                       #{mod\ 815}#
-                                       #{for-car?\ 803}#)))
-                                 (if (memv #{ftype\ 808}# (quote (core)))
+                                       #{sym\ 875}#
+                                       #{r\ 859}#
+                                       #{w\ 860}#
+                                       #{s\ 861}#
+                                       #{rib\ 862}#
+                                       #{mod\ 876}#
+                                       #{for-car?\ 864}#)))
+                                 (if (memv #{ftype\ 869}# (quote (core)))
                                    (values
                                      'core-form
-                                     #{fval\ 809}#
-                                     #{e\ 797}#
-                                     #{w\ 799}#
-                                     #{s\ 800}#
-                                     #{mod\ 802}#)
-                                   (if (memv #{ftype\ 808}#
+                                     #{fval\ 870}#
+                                     #{e\ 858}#
+                                     #{w\ 860}#
+                                     #{s\ 861}#
+                                     #{mod\ 863}#)
+                                   (if (memv #{ftype\ 869}#
                                              '(local-syntax))
                                      (values
                                        'local-syntax-form
-                                       #{fval\ 809}#
-                                       #{e\ 797}#
-                                       #{w\ 799}#
-                                       #{s\ 800}#
-                                       #{mod\ 802}#)
-                                     (if (memv #{ftype\ 808}# (quote (begin)))
+                                       #{fval\ 870}#
+                                       #{e\ 858}#
+                                       #{w\ 860}#
+                                       #{s\ 861}#
+                                       #{mod\ 863}#)
+                                     (if (memv #{ftype\ 869}# (quote (begin)))
                                        (values
                                          'begin-form
                                          #f
-                                         #{e\ 797}#
-                                         #{w\ 799}#
-                                         #{s\ 800}#
-                                         #{mod\ 802}#)
-                                       (if (memv #{ftype\ 808}#
+                                         #{e\ 858}#
+                                         #{w\ 860}#
+                                         #{s\ 861}#
+                                         #{mod\ 863}#)
+                                       (if (memv #{ftype\ 869}#
                                                  '(eval-when))
                                          (values
                                            'eval-when-form
                                            #f
-                                           #{e\ 797}#
-                                           #{w\ 799}#
-                                           #{s\ 800}#
-                                           #{mod\ 802}#)
-                                         (if (memv #{ftype\ 808}#
+                                           #{e\ 858}#
+                                           #{w\ 860}#
+                                           #{s\ 861}#
+                                           #{mod\ 863}#)
+                                         (if (memv #{ftype\ 869}#
                                                    '(define))
-                                           ((lambda (#{tmp\ 816}#)
-                                              ((lambda (#{tmp\ 817}#)
-                                                 (if (if #{tmp\ 817}#
-                                                       (apply (lambda (#{_\ 
818}#
-                                                                       #{name\ 
819}#
-                                                                       #{val\ 
820}#)
+                                           ((lambda (#{tmp\ 877}#)
+                                              ((lambda (#{tmp\ 878}#)
+                                                 (if (if #{tmp\ 878}#
+                                                       (apply (lambda (#{_\ 
879}#
+                                                                       #{name\ 
880}#
+                                                                       #{val\ 
881}#)
                                                                 (#{id?\ 131}#
-                                                                  #{name\ 
819}#))
-                                                              #{tmp\ 817}#)
+                                                                  #{name\ 
880}#))
+                                                              #{tmp\ 878}#)
                                                        #f)
-                                                   (apply (lambda (#{_\ 821}#
-                                                                   #{name\ 
822}#
-                                                                   #{val\ 
823}#)
+                                                   (apply (lambda (#{_\ 882}#
+                                                                   #{name\ 
883}#
+                                                                   #{val\ 
884}#)
                                                             (values
                                                               'define-form
-                                                              #{name\ 822}#
-                                                              #{val\ 823}#
-                                                              #{w\ 799}#
-                                                              #{s\ 800}#
-                                                              #{mod\ 802}#))
-                                                          #{tmp\ 817}#)
-                                                   ((lambda (#{tmp\ 824}#)
-                                                      (if (if #{tmp\ 824}#
-                                                            (apply (lambda 
(#{_\ 825}#
-                                                                            
#{name\ 826}#
-                                                                            
#{args\ 827}#
-                                                                            
#{e1\ 828}#
-                                                                            
#{e2\ 829}#)
+                                                              #{name\ 883}#
+                                                              #{val\ 884}#
+                                                              #{w\ 860}#
+                                                              #{s\ 861}#
+                                                              #{mod\ 863}#))
+                                                          #{tmp\ 878}#)
+                                                   ((lambda (#{tmp\ 885}#)
+                                                      (if (if #{tmp\ 885}#
+                                                            (apply (lambda 
(#{_\ 886}#
+                                                                            
#{name\ 887}#
+                                                                            
#{args\ 888}#
+                                                                            
#{e1\ 889}#
+                                                                            
#{e2\ 890}#)
                                                                      (if 
(#{id?\ 131}#
-                                                                           
#{name\ 826}#)
+                                                                           
#{name\ 887}#)
                                                                        
(#{valid-bound-ids?\ 156}#
                                                                          
(#{lambda-var-list\ 182}#
-                                                                           
#{args\ 827}#))
+                                                                           
#{args\ 888}#))
                                                                        #f))
-                                                                   #{tmp\ 
824}#)
+                                                                   #{tmp\ 
885}#)
                                                             #f)
-                                                        (apply (lambda (#{_\ 
830}#
-                                                                        
#{name\ 831}#
-                                                                        
#{args\ 832}#
-                                                                        #{e1\ 
833}#
-                                                                        #{e2\ 
834}#)
+                                                        (apply (lambda (#{_\ 
891}#
+                                                                        
#{name\ 892}#
+                                                                        
#{args\ 893}#
+                                                                        #{e1\ 
894}#
+                                                                        #{e2\ 
895}#)
                                                                  (values
                                                                    'define-form
                                                                    (#{wrap\ 
159}#
-                                                                     #{name\ 
831}#
-                                                                     #{w\ 799}#
-                                                                     #{mod\ 
802}#)
+                                                                     #{name\ 
892}#
+                                                                     #{w\ 860}#
+                                                                     #{mod\ 
863}#)
                                                                    
(#{decorate-source\ 94}#
                                                                      (cons 
'#(syntax-object
                                                                               
lambda
@@ -3978,32 +4202,32 @@
                                                                               
(hygiene
                                                                                
 guile))
                                                                            
(#{wrap\ 159}#
-                                                                             
(cons #{args\ 832}#
-                                                                               
    (cons #{e1\ 833}#
-                                                                               
          #{e2\ 834}#))
-                                                                             
#{w\ 799}#
-                                                                             
#{mod\ 802}#))
-                                                                     #{s\ 
800}#)
+                                                                             
(cons #{args\ 893}#
+                                                                               
    (cons #{e1\ 894}#
+                                                                               
          #{e2\ 895}#))
+                                                                             
#{w\ 860}#
+                                                                             
#{mod\ 863}#))
+                                                                     #{s\ 
861}#)
                                                                    '(())
-                                                                   #{s\ 800}#
-                                                                   #{mod\ 
802}#))
-                                                               #{tmp\ 824}#)
-                                                        ((lambda (#{tmp\ 836}#)
-                                                           (if (if #{tmp\ 836}#
-                                                                 (apply 
(lambda (#{_\ 837}#
-                                                                               
  #{name\ 838}#)
+                                                                   #{s\ 861}#
+                                                                   #{mod\ 
863}#))
+                                                               #{tmp\ 885}#)
+                                                        ((lambda (#{tmp\ 897}#)
+                                                           (if (if #{tmp\ 897}#
+                                                                 (apply 
(lambda (#{_\ 898}#
+                                                                               
  #{name\ 899}#)
                                                                           
(#{id?\ 131}#
-                                                                            
#{name\ 838}#))
-                                                                        #{tmp\ 
836}#)
+                                                                            
#{name\ 899}#))
+                                                                        #{tmp\ 
897}#)
                                                                  #f)
-                                                             (apply (lambda 
(#{_\ 839}#
-                                                                             
#{name\ 840}#)
+                                                             (apply (lambda 
(#{_\ 900}#
+                                                                             
#{name\ 901}#)
                                                                       (values
                                                                         
'define-form
                                                                         
(#{wrap\ 159}#
-                                                                          
#{name\ 840}#
-                                                                          #{w\ 
799}#
-                                                                          
#{mod\ 802}#)
+                                                                          
#{name\ 901}#
+                                                                          #{w\ 
860}#
+                                                                          
#{mod\ 863}#)
                                                                         
'(#(syntax-object
                                                                             if
                                                                             
((top)
@@ -5325,102 +5549,102 @@
                                                                             
(hygiene
                                                                               
guile)))
                                                                         '(())
-                                                                        #{s\ 
800}#
-                                                                        #{mod\ 
802}#))
-                                                                    #{tmp\ 
836}#)
+                                                                        #{s\ 
861}#
+                                                                        #{mod\ 
863}#))
+                                                                    #{tmp\ 
897}#)
                                                              (syntax-violation
                                                                #f
                                                                "source 
expression failed to match any pattern"
-                                                               #{tmp\ 816}#)))
+                                                               #{tmp\ 877}#)))
                                                          ($sc-dispatch
-                                                           #{tmp\ 816}#
+                                                           #{tmp\ 877}#
                                                            '(any any)))))
                                                     ($sc-dispatch
-                                                      #{tmp\ 816}#
+                                                      #{tmp\ 877}#
                                                       '(any (any . any)
                                                             any
                                                             .
                                                             each-any)))))
                                                ($sc-dispatch
-                                                 #{tmp\ 816}#
+                                                 #{tmp\ 877}#
                                                  '(any any any))))
-                                            #{e\ 797}#)
-                                           (if (memv #{ftype\ 808}#
+                                            #{e\ 858}#)
+                                           (if (memv #{ftype\ 869}#
                                                      '(define-syntax))
-                                             ((lambda (#{tmp\ 841}#)
-                                                ((lambda (#{tmp\ 842}#)
-                                                   (if (if #{tmp\ 842}#
-                                                         (apply (lambda (#{_\ 
843}#
-                                                                         
#{name\ 844}#
-                                                                         
#{val\ 845}#)
+                                             ((lambda (#{tmp\ 902}#)
+                                                ((lambda (#{tmp\ 903}#)
+                                                   (if (if #{tmp\ 903}#
+                                                         (apply (lambda (#{_\ 
904}#
+                                                                         
#{name\ 905}#
+                                                                         
#{val\ 906}#)
                                                                   (#{id?\ 131}#
-                                                                    #{name\ 
844}#))
-                                                                #{tmp\ 842}#)
+                                                                    #{name\ 
905}#))
+                                                                #{tmp\ 903}#)
                                                          #f)
-                                                     (apply (lambda (#{_\ 846}#
-                                                                     #{name\ 
847}#
-                                                                     #{val\ 
848}#)
+                                                     (apply (lambda (#{_\ 907}#
+                                                                     #{name\ 
908}#
+                                                                     #{val\ 
909}#)
                                                               (values
                                                                 
'define-syntax-form
-                                                                #{name\ 847}#
-                                                                #{val\ 848}#
-                                                                #{w\ 799}#
-                                                                #{s\ 800}#
-                                                                #{mod\ 802}#))
-                                                            #{tmp\ 842}#)
+                                                                #{name\ 908}#
+                                                                #{val\ 909}#
+                                                                #{w\ 860}#
+                                                                #{s\ 861}#
+                                                                #{mod\ 863}#))
+                                                            #{tmp\ 903}#)
                                                      (syntax-violation
                                                        #f
                                                        "source expression 
failed to match any pattern"
-                                                       #{tmp\ 841}#)))
+                                                       #{tmp\ 902}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 841}#
+                                                   #{tmp\ 902}#
                                                    '(any any any))))
-                                              #{e\ 797}#)
+                                              #{e\ 858}#)
                                              (values
                                                'call
                                                #f
-                                               #{e\ 797}#
-                                               #{w\ 799}#
-                                               #{s\ 800}#
-                                               #{mod\ 802}#))))))))))))))
-                   (if (#{syntax-object?\ 115}# #{e\ 797}#)
+                                               #{e\ 858}#
+                                               #{w\ 860}#
+                                               #{s\ 861}#
+                                               #{mod\ 863}#))))))))))))))
+                   (if (#{syntax-object?\ 115}# #{e\ 858}#)
                      (#{syntax-type\ 165}#
-                       (#{syntax-object-expression\ 116}# #{e\ 797}#)
-                       #{r\ 798}#
+                       (#{syntax-object-expression\ 116}# #{e\ 858}#)
+                       #{r\ 859}#
                        (#{join-wraps\ 150}#
-                         #{w\ 799}#
-                         (#{syntax-object-wrap\ 117}# #{e\ 797}#))
-                       #{s\ 800}#
-                       #{rib\ 801}#
-                       (let ((#{t\ 849}# (#{syntax-object-module\ 118}#
-                                           #{e\ 797}#)))
-                         (if #{t\ 849}# #{t\ 849}# #{mod\ 802}#))
-                       #{for-car?\ 803}#)
-                     (if (self-evaluating? #{e\ 797}#)
+                         #{w\ 860}#
+                         (#{syntax-object-wrap\ 117}# #{e\ 858}#))
+                       #{s\ 861}#
+                       #{rib\ 862}#
+                       (let ((#{t\ 910}# (#{syntax-object-module\ 118}#
+                                           #{e\ 858}#)))
+                         (if #{t\ 910}# #{t\ 910}# #{mod\ 863}#))
+                       #{for-car?\ 864}#)
+                     (if (self-evaluating? #{e\ 858}#)
                        (values
                          'constant
                          #f
-                         #{e\ 797}#
-                         #{w\ 799}#
-                         #{s\ 800}#
-                         #{mod\ 802}#)
+                         #{e\ 858}#
+                         #{w\ 860}#
+                         #{s\ 861}#
+                         #{mod\ 863}#)
                        (values
                          'other
                          #f
-                         #{e\ 797}#
-                         #{w\ 799}#
-                         #{s\ 800}#
-                         #{mod\ 802}#)))))))
+                         #{e\ 858}#
+                         #{w\ 860}#
+                         #{s\ 861}#
+                         #{mod\ 863}#)))))))
            (#{chi-when-list\ 164}#
-             (lambda (#{e\ 850}# #{when-list\ 851}# #{w\ 852}#)
-               (letrec ((#{f\ 853}# (lambda (#{when-list\ 854}#
-                                             #{situations\ 855}#)
-                                      (if (null? #{when-list\ 854}#)
-                                        #{situations\ 855}#
-                                        (#{f\ 853}# (cdr #{when-list\ 854}#)
-                                                    (cons (let ((#{x\ 856}# 
(car #{when-list\ 854}#)))
+             (lambda (#{e\ 911}# #{when-list\ 912}# #{w\ 913}#)
+               (letrec ((#{f\ 914}# (lambda (#{when-list\ 915}#
+                                             #{situations\ 916}#)
+                                      (if (null? #{when-list\ 915}#)
+                                        #{situations\ 916}#
+                                        (#{f\ 914}# (cdr #{when-list\ 915}#)
+                                                    (cons (let ((#{x\ 917}# 
(car #{when-list\ 915}#)))
                                                             (if (#{free-id=?\ 
154}#
-                                                                  #{x\ 856}#
+                                                                  #{x\ 917}#
                                                                   
'#(syntax-object
                                                                      compile
                                                                      ((top)
@@ -5831,7 +6055,7 @@
                                                                        guile)))
                                                               'compile
                                                               (if 
(#{free-id=?\ 154}#
-                                                                    #{x\ 856}#
+                                                                    #{x\ 917}#
                                                                     
'#(syntax-object
                                                                        load
                                                                        ((top)
@@ -6242,7 +6466,7 @@
                                                                          
guile)))
                                                                 'load
                                                                 (if 
(#{free-id=?\ 154}#
-                                                                      #{x\ 
856}#
+                                                                      #{x\ 
917}#
                                                                       
'#(syntax-object
                                                                          eval
                                                                          ((top)
@@ -6655,25 +6879,25 @@
                                                                   
(syntax-violation
                                                                     'eval-when
                                                                     "invalid 
situation"
-                                                                    #{e\ 850}#
+                                                                    #{e\ 911}#
                                                                     (#{wrap\ 
159}#
-                                                                      #{x\ 
856}#
-                                                                      #{w\ 
852}#
+                                                                      #{x\ 
917}#
+                                                                      #{w\ 
913}#
                                                                       #f))))))
-                                                          #{situations\ 
855}#))))))
-                 (#{f\ 853}# #{when-list\ 851}# (quote ())))))
+                                                          #{situations\ 
916}#))))))
+                 (#{f\ 914}# #{when-list\ 912}# (quote ())))))
            (#{chi-install-global\ 163}#
-             (lambda (#{name\ 857}# #{e\ 858}#)
+             (lambda (#{name\ 918}# #{e\ 919}#)
                (#{build-global-definition\ 104}#
                  #f
-                 #{name\ 857}#
-                 (if (let ((#{v\ 859}# (module-variable
+                 #{name\ 918}#
+                 (if (let ((#{v\ 920}# (module-variable
                                          (current-module)
-                                         #{name\ 857}#)))
-                       (if #{v\ 859}#
-                         (if (variable-bound? #{v\ 859}#)
-                           (if (macro? (variable-ref #{v\ 859}#))
-                             (not (eq? (macro-type (variable-ref #{v\ 859}#))
+                                         #{name\ 918}#)))
+                       (if #{v\ 920}#
+                         (if (variable-bound? #{v\ 920}#)
+                           (if (macro? (variable-ref #{v\ 920}#))
+                             (not (eq? (macro-type (variable-ref #{v\ 920}#))
                                        'syncase-macro))
                              #f)
                            #f)
@@ -6692,830 +6916,833 @@
                                        #f
                                        'current-module)
                                      '())
-                                   (#{build-data\ 109}# #f #{name\ 857}#)))
+                                   (#{build-data\ 109}# #f #{name\ 918}#)))
                            (#{build-data\ 109}# #f (quote macro))
-                           #{e\ 858}#))
+                           #{e\ 919}#))
                    (#{build-application\ 96}#
                      #f
                      (#{build-primref\ 108}#
                        #f
                        'make-syncase-macro)
                      (list (#{build-data\ 109}# #f (quote macro))
-                           #{e\ 858}#))))))
+                           #{e\ 919}#))))))
            (#{chi-top-sequence\ 162}#
-             (lambda (#{body\ 860}#
-                      #{r\ 861}#
-                      #{w\ 862}#
-                      #{s\ 863}#
-                      #{m\ 864}#
-                      #{esew\ 865}#
-                      #{mod\ 866}#)
+             (lambda (#{body\ 921}#
+                      #{r\ 922}#
+                      #{w\ 923}#
+                      #{s\ 924}#
+                      #{m\ 925}#
+                      #{esew\ 926}#
+                      #{mod\ 927}#)
                (#{build-sequence\ 110}#
-                 #{s\ 863}#
-                 (letrec ((#{dobody\ 867}#
-                            (lambda (#{body\ 868}#
-                                     #{r\ 869}#
-                                     #{w\ 870}#
-                                     #{m\ 871}#
-                                     #{esew\ 872}#
-                                     #{mod\ 873}#)
-                              (if (null? #{body\ 868}#)
+                 #{s\ 924}#
+                 (letrec ((#{dobody\ 928}#
+                            (lambda (#{body\ 929}#
+                                     #{r\ 930}#
+                                     #{w\ 931}#
+                                     #{m\ 932}#
+                                     #{esew\ 933}#
+                                     #{mod\ 934}#)
+                              (if (null? #{body\ 929}#)
                                 '()
-                                (let ((#{first\ 874}#
+                                (let ((#{first\ 935}#
                                         (#{chi-top\ 166}#
-                                          (car #{body\ 868}#)
-                                          #{r\ 869}#
-                                          #{w\ 870}#
-                                          #{m\ 871}#
-                                          #{esew\ 872}#
-                                          #{mod\ 873}#)))
-                                  (cons #{first\ 874}#
-                                        (#{dobody\ 867}#
-                                          (cdr #{body\ 868}#)
-                                          #{r\ 869}#
-                                          #{w\ 870}#
-                                          #{m\ 871}#
-                                          #{esew\ 872}#
-                                          #{mod\ 873}#)))))))
-                   (#{dobody\ 867}#
-                     #{body\ 860}#
-                     #{r\ 861}#
-                     #{w\ 862}#
-                     #{m\ 864}#
-                     #{esew\ 865}#
-                     #{mod\ 866}#)))))
+                                          (car #{body\ 929}#)
+                                          #{r\ 930}#
+                                          #{w\ 931}#
+                                          #{m\ 932}#
+                                          #{esew\ 933}#
+                                          #{mod\ 934}#)))
+                                  (cons #{first\ 935}#
+                                        (#{dobody\ 928}#
+                                          (cdr #{body\ 929}#)
+                                          #{r\ 930}#
+                                          #{w\ 931}#
+                                          #{m\ 932}#
+                                          #{esew\ 933}#
+                                          #{mod\ 934}#)))))))
+                   (#{dobody\ 928}#
+                     #{body\ 921}#
+                     #{r\ 922}#
+                     #{w\ 923}#
+                     #{m\ 925}#
+                     #{esew\ 926}#
+                     #{mod\ 927}#)))))
            (#{chi-sequence\ 161}#
-             (lambda (#{body\ 875}#
-                      #{r\ 876}#
-                      #{w\ 877}#
-                      #{s\ 878}#
-                      #{mod\ 879}#)
+             (lambda (#{body\ 936}#
+                      #{r\ 937}#
+                      #{w\ 938}#
+                      #{s\ 939}#
+                      #{mod\ 940}#)
                (#{build-sequence\ 110}#
-                 #{s\ 878}#
-                 (letrec ((#{dobody\ 880}#
-                            (lambda (#{body\ 881}#
-                                     #{r\ 882}#
-                                     #{w\ 883}#
-                                     #{mod\ 884}#)
-                              (if (null? #{body\ 881}#)
+                 #{s\ 939}#
+                 (letrec ((#{dobody\ 941}#
+                            (lambda (#{body\ 942}#
+                                     #{r\ 943}#
+                                     #{w\ 944}#
+                                     #{mod\ 945}#)
+                              (if (null? #{body\ 942}#)
                                 '()
-                                (let ((#{first\ 885}#
+                                (let ((#{first\ 946}#
                                         (#{chi\ 167}#
-                                          (car #{body\ 881}#)
-                                          #{r\ 882}#
-                                          #{w\ 883}#
-                                          #{mod\ 884}#)))
-                                  (cons #{first\ 885}#
-                                        (#{dobody\ 880}#
-                                          (cdr #{body\ 881}#)
-                                          #{r\ 882}#
-                                          #{w\ 883}#
-                                          #{mod\ 884}#)))))))
-                   (#{dobody\ 880}#
-                     #{body\ 875}#
-                     #{r\ 876}#
-                     #{w\ 877}#
-                     #{mod\ 879}#)))))
+                                          (car #{body\ 942}#)
+                                          #{r\ 943}#
+                                          #{w\ 944}#
+                                          #{mod\ 945}#)))
+                                  (cons #{first\ 946}#
+                                        (#{dobody\ 941}#
+                                          (cdr #{body\ 942}#)
+                                          #{r\ 943}#
+                                          #{w\ 944}#
+                                          #{mod\ 945}#)))))))
+                   (#{dobody\ 941}#
+                     #{body\ 936}#
+                     #{r\ 937}#
+                     #{w\ 938}#
+                     #{mod\ 940}#)))))
            (#{source-wrap\ 160}#
-             (lambda (#{x\ 886}#
-                      #{w\ 887}#
-                      #{s\ 888}#
-                      #{defmod\ 889}#)
+             (lambda (#{x\ 947}#
+                      #{w\ 948}#
+                      #{s\ 949}#
+                      #{defmod\ 950}#)
                (#{wrap\ 159}#
-                 (#{decorate-source\ 94}# #{x\ 886}# #{s\ 888}#)
-                 #{w\ 887}#
-                 #{defmod\ 889}#)))
+                 (#{decorate-source\ 94}# #{x\ 947}# #{s\ 949}#)
+                 #{w\ 948}#
+                 #{defmod\ 950}#)))
            (#{wrap\ 159}#
-             (lambda (#{x\ 890}# #{w\ 891}# #{defmod\ 892}#)
-               (if (if (null? (#{wrap-marks\ 134}# #{w\ 891}#))
-                     (null? (#{wrap-subst\ 135}# #{w\ 891}#))
+             (lambda (#{x\ 951}# #{w\ 952}# #{defmod\ 953}#)
+               (if (if (null? (#{wrap-marks\ 134}# #{w\ 952}#))
+                     (null? (#{wrap-subst\ 135}# #{w\ 952}#))
                      #f)
-                 #{x\ 890}#
-                 (if (#{syntax-object?\ 115}# #{x\ 890}#)
+                 #{x\ 951}#
+                 (if (#{syntax-object?\ 115}# #{x\ 951}#)
                    (#{make-syntax-object\ 114}#
-                     (#{syntax-object-expression\ 116}# #{x\ 890}#)
+                     (#{syntax-object-expression\ 116}# #{x\ 951}#)
                      (#{join-wraps\ 150}#
-                       #{w\ 891}#
-                       (#{syntax-object-wrap\ 117}# #{x\ 890}#))
-                     (#{syntax-object-module\ 118}# #{x\ 890}#))
-                   (if (null? #{x\ 890}#)
-                     #{x\ 890}#
+                       #{w\ 952}#
+                       (#{syntax-object-wrap\ 117}# #{x\ 951}#))
+                     (#{syntax-object-module\ 118}# #{x\ 951}#))
+                   (if (null? #{x\ 951}#)
+                     #{x\ 951}#
                      (#{make-syntax-object\ 114}#
-                       #{x\ 890}#
-                       #{w\ 891}#
-                       #{defmod\ 892}#))))))
+                       #{x\ 951}#
+                       #{w\ 952}#
+                       #{defmod\ 953}#))))))
            (#{bound-id-member?\ 158}#
-             (lambda (#{x\ 893}# #{list\ 894}#)
-               (if (not (null? #{list\ 894}#))
-                 (let ((#{t\ 895}# (#{bound-id=?\ 155}#
-                                     #{x\ 893}#
-                                     (car #{list\ 894}#))))
-                   (if #{t\ 895}#
-                     #{t\ 895}#
+             (lambda (#{x\ 954}# #{list\ 955}#)
+               (if (not (null? #{list\ 955}#))
+                 (let ((#{t\ 956}# (#{bound-id=?\ 155}#
+                                     #{x\ 954}#
+                                     (car #{list\ 955}#))))
+                   (if #{t\ 956}#
+                     #{t\ 956}#
                      (#{bound-id-member?\ 158}#
-                       #{x\ 893}#
-                       (cdr #{list\ 894}#))))
+                       #{x\ 954}#
+                       (cdr #{list\ 955}#))))
                  #f)))
            (#{distinct-bound-ids?\ 157}#
-             (lambda (#{ids\ 896}#)
-               (letrec ((#{distinct?\ 897}#
-                          (lambda (#{ids\ 898}#)
-                            (let ((#{t\ 899}# (null? #{ids\ 898}#)))
-                              (if #{t\ 899}#
-                                #{t\ 899}#
+             (lambda (#{ids\ 957}#)
+               (letrec ((#{distinct?\ 958}#
+                          (lambda (#{ids\ 959}#)
+                            (let ((#{t\ 960}# (null? #{ids\ 959}#)))
+                              (if #{t\ 960}#
+                                #{t\ 960}#
                                 (if (not (#{bound-id-member?\ 158}#
-                                           (car #{ids\ 898}#)
-                                           (cdr #{ids\ 898}#)))
-                                  (#{distinct?\ 897}# (cdr #{ids\ 898}#))
+                                           (car #{ids\ 959}#)
+                                           (cdr #{ids\ 959}#)))
+                                  (#{distinct?\ 958}# (cdr #{ids\ 959}#))
                                   #f))))))
-                 (#{distinct?\ 897}# #{ids\ 896}#))))
+                 (#{distinct?\ 958}# #{ids\ 957}#))))
            (#{valid-bound-ids?\ 156}#
-             (lambda (#{ids\ 900}#)
-               (if (letrec ((#{all-ids?\ 901}#
-                              (lambda (#{ids\ 902}#)
-                                (let ((#{t\ 903}# (null? #{ids\ 902}#)))
-                                  (if #{t\ 903}#
-                                    #{t\ 903}#
-                                    (if (#{id?\ 131}# (car #{ids\ 902}#))
-                                      (#{all-ids?\ 901}# (cdr #{ids\ 902}#))
+             (lambda (#{ids\ 961}#)
+               (if (letrec ((#{all-ids?\ 962}#
+                              (lambda (#{ids\ 963}#)
+                                (let ((#{t\ 964}# (null? #{ids\ 963}#)))
+                                  (if #{t\ 964}#
+                                    #{t\ 964}#
+                                    (if (#{id?\ 131}# (car #{ids\ 963}#))
+                                      (#{all-ids?\ 962}# (cdr #{ids\ 963}#))
                                       #f))))))
-                     (#{all-ids?\ 901}# #{ids\ 900}#))
-                 (#{distinct-bound-ids?\ 157}# #{ids\ 900}#)
+                     (#{all-ids?\ 962}# #{ids\ 961}#))
+                 (#{distinct-bound-ids?\ 157}# #{ids\ 961}#)
                  #f)))
            (#{bound-id=?\ 155}#
-             (lambda (#{i\ 904}# #{j\ 905}#)
-               (if (if (#{syntax-object?\ 115}# #{i\ 904}#)
-                     (#{syntax-object?\ 115}# #{j\ 905}#)
+             (lambda (#{i\ 965}# #{j\ 966}#)
+               (if (if (#{syntax-object?\ 115}# #{i\ 965}#)
+                     (#{syntax-object?\ 115}# #{j\ 966}#)
                      #f)
-                 (if (eq? (#{syntax-object-expression\ 116}# #{i\ 904}#)
-                          (#{syntax-object-expression\ 116}# #{j\ 905}#))
+                 (if (eq? (#{syntax-object-expression\ 116}# #{i\ 965}#)
+                          (#{syntax-object-expression\ 116}# #{j\ 966}#))
                    (#{same-marks?\ 152}#
                      (#{wrap-marks\ 134}#
-                       (#{syntax-object-wrap\ 117}# #{i\ 904}#))
+                       (#{syntax-object-wrap\ 117}# #{i\ 965}#))
                      (#{wrap-marks\ 134}#
-                       (#{syntax-object-wrap\ 117}# #{j\ 905}#)))
+                       (#{syntax-object-wrap\ 117}# #{j\ 966}#)))
                    #f)
-                 (eq? #{i\ 904}# #{j\ 905}#))))
+                 (eq? #{i\ 965}# #{j\ 966}#))))
            (#{free-id=?\ 154}#
-             (lambda (#{i\ 906}# #{j\ 907}#)
-               (if (eq? (let ((#{x\ 908}# #{i\ 906}#))
-                          (if (#{syntax-object?\ 115}# #{x\ 908}#)
-                            (#{syntax-object-expression\ 116}# #{x\ 908}#)
-                            #{x\ 908}#))
-                        (let ((#{x\ 909}# #{j\ 907}#))
-                          (if (#{syntax-object?\ 115}# #{x\ 909}#)
-                            (#{syntax-object-expression\ 116}# #{x\ 909}#)
-                            #{x\ 909}#)))
-                 (eq? (#{id-var-name\ 153}# #{i\ 906}# (quote (())))
-                      (#{id-var-name\ 153}# #{j\ 907}# (quote (()))))
+             (lambda (#{i\ 967}# #{j\ 968}#)
+               (if (eq? (let ((#{x\ 969}# #{i\ 967}#))
+                          (if (#{syntax-object?\ 115}# #{x\ 969}#)
+                            (#{syntax-object-expression\ 116}# #{x\ 969}#)
+                            #{x\ 969}#))
+                        (let ((#{x\ 970}# #{j\ 968}#))
+                          (if (#{syntax-object?\ 115}# #{x\ 970}#)
+                            (#{syntax-object-expression\ 116}# #{x\ 970}#)
+                            #{x\ 970}#)))
+                 (eq? (#{id-var-name\ 153}# #{i\ 967}# (quote (())))
+                      (#{id-var-name\ 153}# #{j\ 968}# (quote (()))))
                  #f)))
            (#{id-var-name\ 153}#
-             (lambda (#{id\ 910}# #{w\ 911}#)
-               (letrec ((#{search-vector-rib\ 914}#
-                          (lambda (#{sym\ 920}#
-                                   #{subst\ 921}#
-                                   #{marks\ 922}#
-                                   #{symnames\ 923}#
-                                   #{ribcage\ 924}#)
-                            (let ((#{n\ 925}# (vector-length
-                                                #{symnames\ 923}#)))
-                              (letrec ((#{f\ 926}# (lambda (#{i\ 927}#)
+             (lambda (#{id\ 971}# #{w\ 972}#)
+               (letrec ((#{search-vector-rib\ 975}#
+                          (lambda (#{sym\ 981}#
+                                   #{subst\ 982}#
+                                   #{marks\ 983}#
+                                   #{symnames\ 984}#
+                                   #{ribcage\ 985}#)
+                            (let ((#{n\ 986}# (vector-length
+                                                #{symnames\ 984}#)))
+                              (letrec ((#{f\ 987}# (lambda (#{i\ 988}#)
                                                      (if (#{fx=\ 88}#
-                                                           #{i\ 927}#
-                                                           #{n\ 925}#)
-                                                       (#{search\ 912}#
-                                                         #{sym\ 920}#
-                                                         (cdr #{subst\ 921}#)
-                                                         #{marks\ 922}#)
+                                                           #{i\ 988}#
+                                                           #{n\ 986}#)
+                                                       (#{search\ 973}#
+                                                         #{sym\ 981}#
+                                                         (cdr #{subst\ 982}#)
+                                                         #{marks\ 983}#)
                                                        (if (if (eq? (vector-ref
-                                                                      
#{symnames\ 923}#
-                                                                      #{i\ 
927}#)
-                                                                    #{sym\ 
920}#)
+                                                                      
#{symnames\ 984}#
+                                                                      #{i\ 
988}#)
+                                                                    #{sym\ 
981}#)
                                                              (#{same-marks?\ 
152}#
-                                                               #{marks\ 922}#
+                                                               #{marks\ 983}#
                                                                (vector-ref
                                                                  
(#{ribcage-marks\ 141}#
-                                                                   #{ribcage\ 
924}#)
-                                                                 #{i\ 927}#))
+                                                                   #{ribcage\ 
985}#)
+                                                                 #{i\ 988}#))
                                                              #f)
                                                          (values
                                                            (vector-ref
                                                              
(#{ribcage-labels\ 142}#
-                                                               #{ribcage\ 
924}#)
-                                                             #{i\ 927}#)
-                                                           #{marks\ 922}#)
-                                                         (#{f\ 926}# (#{fx+\ 
86}#
-                                                                       #{i\ 
927}#
+                                                               #{ribcage\ 
985}#)
+                                                             #{i\ 988}#)
+                                                           #{marks\ 983}#)
+                                                         (#{f\ 987}# (#{fx+\ 
86}#
+                                                                       #{i\ 
988}#
                                                                        1)))))))
-                                (#{f\ 926}# 0)))))
-                        (#{search-list-rib\ 913}#
-                          (lambda (#{sym\ 928}#
-                                   #{subst\ 929}#
-                                   #{marks\ 930}#
-                                   #{symnames\ 931}#
-                                   #{ribcage\ 932}#)
-                            (letrec ((#{f\ 933}# (lambda (#{symnames\ 934}#
-                                                          #{i\ 935}#)
-                                                   (if (null? #{symnames\ 
934}#)
-                                                     (#{search\ 912}#
-                                                       #{sym\ 928}#
-                                                       (cdr #{subst\ 929}#)
-                                                       #{marks\ 930}#)
-                                                     (if (if (eq? (car 
#{symnames\ 934}#)
-                                                                  #{sym\ 928}#)
+                                (#{f\ 987}# 0)))))
+                        (#{search-list-rib\ 974}#
+                          (lambda (#{sym\ 989}#
+                                   #{subst\ 990}#
+                                   #{marks\ 991}#
+                                   #{symnames\ 992}#
+                                   #{ribcage\ 993}#)
+                            (letrec ((#{f\ 994}# (lambda (#{symnames\ 995}#
+                                                          #{i\ 996}#)
+                                                   (if (null? #{symnames\ 
995}#)
+                                                     (#{search\ 973}#
+                                                       #{sym\ 989}#
+                                                       (cdr #{subst\ 990}#)
+                                                       #{marks\ 991}#)
+                                                     (if (if (eq? (car 
#{symnames\ 995}#)
+                                                                  #{sym\ 989}#)
                                                            (#{same-marks?\ 
152}#
-                                                             #{marks\ 930}#
+                                                             #{marks\ 991}#
                                                              (list-ref
                                                                
(#{ribcage-marks\ 141}#
-                                                                 #{ribcage\ 
932}#)
-                                                               #{i\ 935}#))
+                                                                 #{ribcage\ 
993}#)
+                                                               #{i\ 996}#))
                                                            #f)
                                                        (values
                                                          (list-ref
                                                            (#{ribcage-labels\ 
142}#
-                                                             #{ribcage\ 932}#)
-                                                           #{i\ 935}#)
-                                                         #{marks\ 930}#)
-                                                       (#{f\ 933}# (cdr 
#{symnames\ 934}#)
+                                                             #{ribcage\ 993}#)
+                                                           #{i\ 996}#)
+                                                         #{marks\ 991}#)
+                                                       (#{f\ 994}# (cdr 
#{symnames\ 995}#)
                                                                    (#{fx+\ 86}#
-                                                                     #{i\ 935}#
+                                                                     #{i\ 996}#
                                                                      1)))))))
-                              (#{f\ 933}# #{symnames\ 931}# 0))))
-                        (#{search\ 912}#
-                          (lambda (#{sym\ 936}# #{subst\ 937}# #{marks\ 938}#)
-                            (if (null? #{subst\ 937}#)
-                              (values #f #{marks\ 938}#)
-                              (let ((#{fst\ 939}# (car #{subst\ 937}#)))
-                                (if (eq? #{fst\ 939}# (quote shift))
-                                  (#{search\ 912}#
-                                    #{sym\ 936}#
-                                    (cdr #{subst\ 937}#)
-                                    (cdr #{marks\ 938}#))
-                                  (let ((#{symnames\ 940}#
+                              (#{f\ 994}# #{symnames\ 992}# 0))))
+                        (#{search\ 973}#
+                          (lambda (#{sym\ 997}# #{subst\ 998}# #{marks\ 999}#)
+                            (if (null? #{subst\ 998}#)
+                              (values #f #{marks\ 999}#)
+                              (let ((#{fst\ 1000}# (car #{subst\ 998}#)))
+                                (if (eq? #{fst\ 1000}# (quote shift))
+                                  (#{search\ 973}#
+                                    #{sym\ 997}#
+                                    (cdr #{subst\ 998}#)
+                                    (cdr #{marks\ 999}#))
+                                  (let ((#{symnames\ 1001}#
                                           (#{ribcage-symnames\ 140}#
-                                            #{fst\ 939}#)))
-                                    (if (vector? #{symnames\ 940}#)
-                                      (#{search-vector-rib\ 914}#
-                                        #{sym\ 936}#
-                                        #{subst\ 937}#
-                                        #{marks\ 938}#
-                                        #{symnames\ 940}#
-                                        #{fst\ 939}#)
-                                      (#{search-list-rib\ 913}#
-                                        #{sym\ 936}#
-                                        #{subst\ 937}#
-                                        #{marks\ 938}#
-                                        #{symnames\ 940}#
-                                        #{fst\ 939}#)))))))))
-                 (if (symbol? #{id\ 910}#)
-                   (let ((#{t\ 941}# (call-with-values
-                                       (lambda ()
-                                         (#{search\ 912}#
-                                           #{id\ 910}#
-                                           (#{wrap-subst\ 135}# #{w\ 911}#)
-                                           (#{wrap-marks\ 134}# #{w\ 911}#)))
-                                       (lambda (#{x\ 942}# . #{ignore\ 943}#)
-                                         #{x\ 942}#))))
-                     (if #{t\ 941}# #{t\ 941}# #{id\ 910}#))
-                   (if (#{syntax-object?\ 115}# #{id\ 910}#)
-                     (let ((#{id\ 944}#
-                             (#{syntax-object-expression\ 116}# #{id\ 910}#))
-                           (#{w1\ 945}#
-                             (#{syntax-object-wrap\ 117}# #{id\ 910}#)))
-                       (let ((#{marks\ 946}#
+                                            #{fst\ 1000}#)))
+                                    (if (vector? #{symnames\ 1001}#)
+                                      (#{search-vector-rib\ 975}#
+                                        #{sym\ 997}#
+                                        #{subst\ 998}#
+                                        #{marks\ 999}#
+                                        #{symnames\ 1001}#
+                                        #{fst\ 1000}#)
+                                      (#{search-list-rib\ 974}#
+                                        #{sym\ 997}#
+                                        #{subst\ 998}#
+                                        #{marks\ 999}#
+                                        #{symnames\ 1001}#
+                                        #{fst\ 1000}#)))))))))
+                 (if (symbol? #{id\ 971}#)
+                   (let ((#{t\ 1002}#
+                           (call-with-values
+                             (lambda ()
+                               (#{search\ 973}#
+                                 #{id\ 971}#
+                                 (#{wrap-subst\ 135}# #{w\ 972}#)
+                                 (#{wrap-marks\ 134}# #{w\ 972}#)))
+                             (lambda (#{x\ 1003}# . #{ignore\ 1004}#)
+                               #{x\ 1003}#))))
+                     (if #{t\ 1002}# #{t\ 1002}# #{id\ 971}#))
+                   (if (#{syntax-object?\ 115}# #{id\ 971}#)
+                     (let ((#{id\ 1005}#
+                             (#{syntax-object-expression\ 116}# #{id\ 971}#))
+                           (#{w1\ 1006}#
+                             (#{syntax-object-wrap\ 117}# #{id\ 971}#)))
+                       (let ((#{marks\ 1007}#
                                (#{join-marks\ 151}#
-                                 (#{wrap-marks\ 134}# #{w\ 911}#)
-                                 (#{wrap-marks\ 134}# #{w1\ 945}#))))
+                                 (#{wrap-marks\ 134}# #{w\ 972}#)
+                                 (#{wrap-marks\ 134}# #{w1\ 1006}#))))
                          (call-with-values
                            (lambda ()
-                             (#{search\ 912}#
-                               #{id\ 944}#
-                               (#{wrap-subst\ 135}# #{w\ 911}#)
-                               #{marks\ 946}#))
-                           (lambda (#{new-id\ 947}# #{marks\ 948}#)
-                             (let ((#{t\ 949}# #{new-id\ 947}#))
-                               (if #{t\ 949}#
-                                 #{t\ 949}#
-                                 (let ((#{t\ 950}# (call-with-values
-                                                     (lambda ()
-                                                       (#{search\ 912}#
-                                                         #{id\ 944}#
-                                                         (#{wrap-subst\ 135}#
-                                                           #{w1\ 945}#)
-                                                         #{marks\ 948}#))
-                                                     (lambda (#{x\ 951}#
-                                                              .
-                                                              #{ignore\ 952}#)
-                                                       #{x\ 951}#))))
-                                   (if #{t\ 950}#
-                                     #{t\ 950}#
-                                     #{id\ 944}#))))))))
+                             (#{search\ 973}#
+                               #{id\ 1005}#
+                               (#{wrap-subst\ 135}# #{w\ 972}#)
+                               #{marks\ 1007}#))
+                           (lambda (#{new-id\ 1008}# #{marks\ 1009}#)
+                             (let ((#{t\ 1010}# #{new-id\ 1008}#))
+                               (if #{t\ 1010}#
+                                 #{t\ 1010}#
+                                 (let ((#{t\ 1011}#
+                                         (call-with-values
+                                           (lambda ()
+                                             (#{search\ 973}#
+                                               #{id\ 1005}#
+                                               (#{wrap-subst\ 135}#
+                                                 #{w1\ 1006}#)
+                                               #{marks\ 1009}#))
+                                           (lambda (#{x\ 1012}#
+                                                    .
+                                                    #{ignore\ 1013}#)
+                                             #{x\ 1012}#))))
+                                   (if #{t\ 1011}#
+                                     #{t\ 1011}#
+                                     #{id\ 1005}#))))))))
                      (syntax-violation
                        'id-var-name
                        "invalid id"
-                       #{id\ 910}#))))))
+                       #{id\ 971}#))))))
            (#{same-marks?\ 152}#
-             (lambda (#{x\ 953}# #{y\ 954}#)
-               (let ((#{t\ 955}# (eq? #{x\ 953}# #{y\ 954}#)))
-                 (if #{t\ 955}#
-                   #{t\ 955}#
-                   (if (not (null? #{x\ 953}#))
-                     (if (not (null? #{y\ 954}#))
-                       (if (eq? (car #{x\ 953}#) (car #{y\ 954}#))
+             (lambda (#{x\ 1014}# #{y\ 1015}#)
+               (let ((#{t\ 1016}# (eq? #{x\ 1014}# #{y\ 1015}#)))
+                 (if #{t\ 1016}#
+                   #{t\ 1016}#
+                   (if (not (null? #{x\ 1014}#))
+                     (if (not (null? #{y\ 1015}#))
+                       (if (eq? (car #{x\ 1014}#) (car #{y\ 1015}#))
                          (#{same-marks?\ 152}#
-                           (cdr #{x\ 953}#)
-                           (cdr #{y\ 954}#))
+                           (cdr #{x\ 1014}#)
+                           (cdr #{y\ 1015}#))
                          #f)
                        #f)
                      #f)))))
            (#{join-marks\ 151}#
-             (lambda (#{m1\ 956}# #{m2\ 957}#)
-               (#{smart-append\ 149}# #{m1\ 956}# #{m2\ 957}#)))
+             (lambda (#{m1\ 1017}# #{m2\ 1018}#)
+               (#{smart-append\ 149}# #{m1\ 1017}# #{m2\ 1018}#)))
            (#{join-wraps\ 150}#
-             (lambda (#{w1\ 958}# #{w2\ 959}#)
-               (let ((#{m1\ 960}# (#{wrap-marks\ 134}# #{w1\ 958}#))
-                     (#{s1\ 961}# (#{wrap-subst\ 135}# #{w1\ 958}#)))
-                 (if (null? #{m1\ 960}#)
-                   (if (null? #{s1\ 961}#)
-                     #{w2\ 959}#
+             (lambda (#{w1\ 1019}# #{w2\ 1020}#)
+               (let ((#{m1\ 1021}# (#{wrap-marks\ 134}# #{w1\ 1019}#))
+                     (#{s1\ 1022}# (#{wrap-subst\ 135}# #{w1\ 1019}#)))
+                 (if (null? #{m1\ 1021}#)
+                   (if (null? #{s1\ 1022}#)
+                     #{w2\ 1020}#
                      (#{make-wrap\ 133}#
-                       (#{wrap-marks\ 134}# #{w2\ 959}#)
+                       (#{wrap-marks\ 134}# #{w2\ 1020}#)
                        (#{smart-append\ 149}#
-                         #{s1\ 961}#
-                         (#{wrap-subst\ 135}# #{w2\ 959}#))))
+                         #{s1\ 1022}#
+                         (#{wrap-subst\ 135}# #{w2\ 1020}#))))
                    (#{make-wrap\ 133}#
                      (#{smart-append\ 149}#
-                       #{m1\ 960}#
-                       (#{wrap-marks\ 134}# #{w2\ 959}#))
+                       #{m1\ 1021}#
+                       (#{wrap-marks\ 134}# #{w2\ 1020}#))
                      (#{smart-append\ 149}#
-                       #{s1\ 961}#
-                       (#{wrap-subst\ 135}# #{w2\ 959}#)))))))
+                       #{s1\ 1022}#
+                       (#{wrap-subst\ 135}# #{w2\ 1020}#)))))))
            (#{smart-append\ 149}#
-             (lambda (#{m1\ 962}# #{m2\ 963}#)
-               (if (null? #{m2\ 963}#)
-                 #{m1\ 962}#
-                 (append #{m1\ 962}# #{m2\ 963}#))))
+             (lambda (#{m1\ 1023}# #{m2\ 1024}#)
+               (if (null? #{m2\ 1024}#)
+                 #{m1\ 1023}#
+                 (append #{m1\ 1023}# #{m2\ 1024}#))))
            (#{make-binding-wrap\ 148}#
-             (lambda (#{ids\ 964}# #{labels\ 965}# #{w\ 966}#)
-               (if (null? #{ids\ 964}#)
-                 #{w\ 966}#
+             (lambda (#{ids\ 1025}# #{labels\ 1026}# #{w\ 1027}#)
+               (if (null? #{ids\ 1025}#)
+                 #{w\ 1027}#
                  (#{make-wrap\ 133}#
-                   (#{wrap-marks\ 134}# #{w\ 966}#)
-                   (cons (let ((#{labelvec\ 967}#
-                                 (list->vector #{labels\ 965}#)))
-                           (let ((#{n\ 968}# (vector-length
-                                               #{labelvec\ 967}#)))
-                             (let ((#{symnamevec\ 969}#
-                                     (make-vector #{n\ 968}#))
-                                   (#{marksvec\ 970}#
-                                     (make-vector #{n\ 968}#)))
+                   (#{wrap-marks\ 134}# #{w\ 1027}#)
+                   (cons (let ((#{labelvec\ 1028}#
+                                 (list->vector #{labels\ 1026}#)))
+                           (let ((#{n\ 1029}#
+                                   (vector-length #{labelvec\ 1028}#)))
+                             (let ((#{symnamevec\ 1030}#
+                                     (make-vector #{n\ 1029}#))
+                                   (#{marksvec\ 1031}#
+                                     (make-vector #{n\ 1029}#)))
                                (begin
-                                 (letrec ((#{f\ 971}# (lambda (#{ids\ 972}#
-                                                               #{i\ 973}#)
-                                                        (if (not (null? #{ids\ 
972}#))
-                                                          (call-with-values
-                                                            (lambda ()
-                                                              
(#{id-sym-name&marks\ 132}#
-                                                                (car #{ids\ 
972}#)
-                                                                #{w\ 966}#))
-                                                            (lambda 
(#{symname\ 974}#
-                                                                     #{marks\ 
975}#)
-                                                              (begin
-                                                                (vector-set!
-                                                                  
#{symnamevec\ 969}#
-                                                                  #{i\ 973}#
-                                                                  #{symname\ 
974}#)
-                                                                (vector-set!
-                                                                  #{marksvec\ 
970}#
-                                                                  #{i\ 973}#
-                                                                  #{marks\ 
975}#)
-                                                                (#{f\ 971}# 
(cdr #{ids\ 972}#)
-                                                                            
(#{fx+\ 86}#
-                                                                              
#{i\ 973}#
-                                                                              
1)))))))))
-                                   (#{f\ 971}# #{ids\ 964}# 0))
+                                 (letrec ((#{f\ 1032}#
+                                            (lambda (#{ids\ 1033}# #{i\ 1034}#)
+                                              (if (not (null? #{ids\ 1033}#))
+                                                (call-with-values
+                                                  (lambda ()
+                                                    (#{id-sym-name&marks\ 132}#
+                                                      (car #{ids\ 1033}#)
+                                                      #{w\ 1027}#))
+                                                  (lambda (#{symname\ 1035}#
+                                                           #{marks\ 1036}#)
+                                                    (begin
+                                                      (vector-set!
+                                                        #{symnamevec\ 1030}#
+                                                        #{i\ 1034}#
+                                                        #{symname\ 1035}#)
+                                                      (vector-set!
+                                                        #{marksvec\ 1031}#
+                                                        #{i\ 1034}#
+                                                        #{marks\ 1036}#)
+                                                      (#{f\ 1032}#
+                                                        (cdr #{ids\ 1033}#)
+                                                        (#{fx+\ 86}#
+                                                          #{i\ 1034}#
+                                                          1)))))))))
+                                   (#{f\ 1032}# #{ids\ 1025}# 0))
                                  (#{make-ribcage\ 138}#
-                                   #{symnamevec\ 969}#
-                                   #{marksvec\ 970}#
-                                   #{labelvec\ 967}#)))))
-                         (#{wrap-subst\ 135}# #{w\ 966}#))))))
+                                   #{symnamevec\ 1030}#
+                                   #{marksvec\ 1031}#
+                                   #{labelvec\ 1028}#)))))
+                         (#{wrap-subst\ 135}# #{w\ 1027}#))))))
            (#{extend-ribcage!\ 147}#
-             (lambda (#{ribcage\ 976}# #{id\ 977}# #{label\ 978}#)
+             (lambda (#{ribcage\ 1037}# #{id\ 1038}# #{label\ 1039}#)
                (begin
                  (#{set-ribcage-symnames!\ 143}#
-                   #{ribcage\ 976}#
-                   (cons (#{syntax-object-expression\ 116}# #{id\ 977}#)
-                         (#{ribcage-symnames\ 140}# #{ribcage\ 976}#)))
+                   #{ribcage\ 1037}#
+                   (cons (#{syntax-object-expression\ 116}# #{id\ 1038}#)
+                         (#{ribcage-symnames\ 140}# #{ribcage\ 1037}#)))
                  (#{set-ribcage-marks!\ 144}#
-                   #{ribcage\ 976}#
+                   #{ribcage\ 1037}#
                    (cons (#{wrap-marks\ 134}#
-                           (#{syntax-object-wrap\ 117}# #{id\ 977}#))
-                         (#{ribcage-marks\ 141}# #{ribcage\ 976}#)))
+                           (#{syntax-object-wrap\ 117}# #{id\ 1038}#))
+                         (#{ribcage-marks\ 141}# #{ribcage\ 1037}#)))
                  (#{set-ribcage-labels!\ 145}#
-                   #{ribcage\ 976}#
-                   (cons #{label\ 978}#
-                         (#{ribcage-labels\ 142}# #{ribcage\ 976}#))))))
+                   #{ribcage\ 1037}#
+                   (cons #{label\ 1039}#
+                         (#{ribcage-labels\ 142}# #{ribcage\ 1037}#))))))
            (#{anti-mark\ 146}#
-             (lambda (#{w\ 979}#)
+             (lambda (#{w\ 1040}#)
                (#{make-wrap\ 133}#
-                 (cons #f (#{wrap-marks\ 134}# #{w\ 979}#))
+                 (cons #f (#{wrap-marks\ 134}# #{w\ 1040}#))
                  (cons 'shift
-                       (#{wrap-subst\ 135}# #{w\ 979}#)))))
+                       (#{wrap-subst\ 135}# #{w\ 1040}#)))))
            (#{set-ribcage-labels!\ 145}#
-             (lambda (#{x\ 980}# #{update\ 981}#)
-               (vector-set! #{x\ 980}# 3 #{update\ 981}#)))
+             (lambda (#{x\ 1041}# #{update\ 1042}#)
+               (vector-set! #{x\ 1041}# 3 #{update\ 1042}#)))
            (#{set-ribcage-marks!\ 144}#
-             (lambda (#{x\ 982}# #{update\ 983}#)
-               (vector-set! #{x\ 982}# 2 #{update\ 983}#)))
+             (lambda (#{x\ 1043}# #{update\ 1044}#)
+               (vector-set! #{x\ 1043}# 2 #{update\ 1044}#)))
            (#{set-ribcage-symnames!\ 143}#
-             (lambda (#{x\ 984}# #{update\ 985}#)
-               (vector-set! #{x\ 984}# 1 #{update\ 985}#)))
+             (lambda (#{x\ 1045}# #{update\ 1046}#)
+               (vector-set! #{x\ 1045}# 1 #{update\ 1046}#)))
            (#{ribcage-labels\ 142}#
-             (lambda (#{x\ 986}#) (vector-ref #{x\ 986}# 3)))
+             (lambda (#{x\ 1047}#) (vector-ref #{x\ 1047}# 3)))
            (#{ribcage-marks\ 141}#
-             (lambda (#{x\ 987}#) (vector-ref #{x\ 987}# 2)))
+             (lambda (#{x\ 1048}#) (vector-ref #{x\ 1048}# 2)))
            (#{ribcage-symnames\ 140}#
-             (lambda (#{x\ 988}#) (vector-ref #{x\ 988}# 1)))
+             (lambda (#{x\ 1049}#) (vector-ref #{x\ 1049}# 1)))
            (#{ribcage?\ 139}#
-             (lambda (#{x\ 989}#)
-               (if (vector? #{x\ 989}#)
-                 (if (= (vector-length #{x\ 989}#) 4)
-                   (eq? (vector-ref #{x\ 989}# 0) (quote ribcage))
+             (lambda (#{x\ 1050}#)
+               (if (vector? #{x\ 1050}#)
+                 (if (= (vector-length #{x\ 1050}#) 4)
+                   (eq? (vector-ref #{x\ 1050}# 0) (quote ribcage))
                    #f)
                  #f)))
            (#{make-ribcage\ 138}#
-             (lambda (#{symnames\ 990}#
-                      #{marks\ 991}#
-                      #{labels\ 992}#)
+             (lambda (#{symnames\ 1051}#
+                      #{marks\ 1052}#
+                      #{labels\ 1053}#)
                (vector
                  'ribcage
-                 #{symnames\ 990}#
-                 #{marks\ 991}#
-                 #{labels\ 992}#)))
+                 #{symnames\ 1051}#
+                 #{marks\ 1052}#
+                 #{labels\ 1053}#)))
            (#{gen-labels\ 137}#
-             (lambda (#{ls\ 993}#)
-               (if (null? #{ls\ 993}#)
+             (lambda (#{ls\ 1054}#)
+               (if (null? #{ls\ 1054}#)
                  '()
                  (cons (#{gen-label\ 136}#)
-                       (#{gen-labels\ 137}# (cdr #{ls\ 993}#))))))
+                       (#{gen-labels\ 137}# (cdr #{ls\ 1054}#))))))
            (#{gen-label\ 136}# (lambda () (string #\i)))
            (#{wrap-subst\ 135}# cdr)
            (#{wrap-marks\ 134}# car)
            (#{make-wrap\ 133}# cons)
            (#{id-sym-name&marks\ 132}#
-             (lambda (#{x\ 994}# #{w\ 995}#)
-               (if (#{syntax-object?\ 115}# #{x\ 994}#)
+             (lambda (#{x\ 1055}# #{w\ 1056}#)
+               (if (#{syntax-object?\ 115}# #{x\ 1055}#)
                  (values
-                   (#{syntax-object-expression\ 116}# #{x\ 994}#)
+                   (#{syntax-object-expression\ 116}# #{x\ 1055}#)
                    (#{join-marks\ 151}#
-                     (#{wrap-marks\ 134}# #{w\ 995}#)
+                     (#{wrap-marks\ 134}# #{w\ 1056}#)
                      (#{wrap-marks\ 134}#
-                       (#{syntax-object-wrap\ 117}# #{x\ 994}#))))
+                       (#{syntax-object-wrap\ 117}# #{x\ 1055}#))))
                  (values
-                   #{x\ 994}#
-                   (#{wrap-marks\ 134}# #{w\ 995}#)))))
+                   #{x\ 1055}#
+                   (#{wrap-marks\ 134}# #{w\ 1056}#)))))
            (#{id?\ 131}#
-             (lambda (#{x\ 996}#)
-               (if (symbol? #{x\ 996}#)
+             (lambda (#{x\ 1057}#)
+               (if (symbol? #{x\ 1057}#)
                  #t
-                 (if (#{syntax-object?\ 115}# #{x\ 996}#)
+                 (if (#{syntax-object?\ 115}# #{x\ 1057}#)
                    (symbol?
-                     (#{syntax-object-expression\ 116}# #{x\ 996}#))
+                     (#{syntax-object-expression\ 116}# #{x\ 1057}#))
                    #f))))
            (#{nonsymbol-id?\ 130}#
-             (lambda (#{x\ 997}#)
-               (if (#{syntax-object?\ 115}# #{x\ 997}#)
+             (lambda (#{x\ 1058}#)
+               (if (#{syntax-object?\ 115}# #{x\ 1058}#)
                  (symbol?
-                   (#{syntax-object-expression\ 116}# #{x\ 997}#))
+                   (#{syntax-object-expression\ 116}# #{x\ 1058}#))
                  #f)))
            (#{global-extend\ 129}#
-             (lambda (#{type\ 998}# #{sym\ 999}# #{val\ 1000}#)
+             (lambda (#{type\ 1059}# #{sym\ 1060}# #{val\ 1061}#)
                (#{put-global-definition-hook\ 92}#
-                 #{sym\ 999}#
-                 #{type\ 998}#
-                 #{val\ 1000}#)))
+                 #{sym\ 1060}#
+                 #{type\ 1059}#
+                 #{val\ 1061}#)))
            (#{lookup\ 128}#
-             (lambda (#{x\ 1001}# #{r\ 1002}# #{mod\ 1003}#)
-               (let ((#{t\ 1004}# (assq #{x\ 1001}# #{r\ 1002}#)))
-                 (if #{t\ 1004}#
-                   (cdr #{t\ 1004}#)
-                   (if (symbol? #{x\ 1001}#)
-                     (let ((#{t\ 1005}#
+             (lambda (#{x\ 1062}# #{r\ 1063}# #{mod\ 1064}#)
+               (let ((#{t\ 1065}# (assq #{x\ 1062}# #{r\ 1063}#)))
+                 (if #{t\ 1065}#
+                   (cdr #{t\ 1065}#)
+                   (if (symbol? #{x\ 1062}#)
+                     (let ((#{t\ 1066}#
                              (#{get-global-definition-hook\ 93}#
-                               #{x\ 1001}#
-                               #{mod\ 1003}#)))
-                       (if #{t\ 1005}# #{t\ 1005}# (quote (global))))
+                               #{x\ 1062}#
+                               #{mod\ 1064}#)))
+                       (if #{t\ 1066}# #{t\ 1066}# (quote (global))))
                      '(displaced-lexical))))))
            (#{macros-only-env\ 127}#
-             (lambda (#{r\ 1006}#)
-               (if (null? #{r\ 1006}#)
+             (lambda (#{r\ 1067}#)
+               (if (null? #{r\ 1067}#)
                  '()
-                 (let ((#{a\ 1007}# (car #{r\ 1006}#)))
-                   (if (eq? (cadr #{a\ 1007}#) (quote macro))
-                     (cons #{a\ 1007}#
-                           (#{macros-only-env\ 127}# (cdr #{r\ 1006}#)))
-                     (#{macros-only-env\ 127}# (cdr #{r\ 1006}#)))))))
+                 (let ((#{a\ 1068}# (car #{r\ 1067}#)))
+                   (if (eq? (cadr #{a\ 1068}#) (quote macro))
+                     (cons #{a\ 1068}#
+                           (#{macros-only-env\ 127}# (cdr #{r\ 1067}#)))
+                     (#{macros-only-env\ 127}# (cdr #{r\ 1067}#)))))))
            (#{extend-var-env\ 126}#
-             (lambda (#{labels\ 1008}# #{vars\ 1009}# #{r\ 1010}#)
-               (if (null? #{labels\ 1008}#)
-                 #{r\ 1010}#
+             (lambda (#{labels\ 1069}# #{vars\ 1070}# #{r\ 1071}#)
+               (if (null? #{labels\ 1069}#)
+                 #{r\ 1071}#
                  (#{extend-var-env\ 126}#
-                   (cdr #{labels\ 1008}#)
-                   (cdr #{vars\ 1009}#)
-                   (cons (cons (car #{labels\ 1008}#)
-                               (cons (quote lexical) (car #{vars\ 1009}#)))
-                         #{r\ 1010}#)))))
+                   (cdr #{labels\ 1069}#)
+                   (cdr #{vars\ 1070}#)
+                   (cons (cons (car #{labels\ 1069}#)
+                               (cons (quote lexical) (car #{vars\ 1070}#)))
+                         #{r\ 1071}#)))))
            (#{extend-env\ 125}#
-             (lambda (#{labels\ 1011}# #{bindings\ 1012}# #{r\ 1013}#)
-               (if (null? #{labels\ 1011}#)
-                 #{r\ 1013}#
+             (lambda (#{labels\ 1072}# #{bindings\ 1073}# #{r\ 1074}#)
+               (if (null? #{labels\ 1072}#)
+                 #{r\ 1074}#
                  (#{extend-env\ 125}#
-                   (cdr #{labels\ 1011}#)
-                   (cdr #{bindings\ 1012}#)
-                   (cons (cons (car #{labels\ 1011}#)
-                               (car #{bindings\ 1012}#))
-                         #{r\ 1013}#)))))
+                   (cdr #{labels\ 1072}#)
+                   (cdr #{bindings\ 1073}#)
+                   (cons (cons (car #{labels\ 1072}#)
+                               (car #{bindings\ 1073}#))
+                         #{r\ 1074}#)))))
            (#{binding-value\ 124}# cdr)
            (#{binding-type\ 123}# car)
            (#{source-annotation\ 122}#
-             (lambda (#{x\ 1014}#)
-               (if (#{syntax-object?\ 115}# #{x\ 1014}#)
+             (lambda (#{x\ 1075}#)
+               (if (#{syntax-object?\ 115}# #{x\ 1075}#)
                  (#{source-annotation\ 122}#
-                   (#{syntax-object-expression\ 116}# #{x\ 1014}#))
-                 (if (pair? #{x\ 1014}#)
-                   (let ((#{props\ 1015}# (source-properties #{x\ 1014}#)))
-                     (if (pair? #{props\ 1015}#) #{props\ 1015}# #f))
+                   (#{syntax-object-expression\ 116}# #{x\ 1075}#))
+                 (if (pair? #{x\ 1075}#)
+                   (let ((#{props\ 1076}# (source-properties #{x\ 1075}#)))
+                     (if (pair? #{props\ 1076}#) #{props\ 1076}# #f))
                    #f))))
            (#{set-syntax-object-module!\ 121}#
-             (lambda (#{x\ 1016}# #{update\ 1017}#)
-               (vector-set! #{x\ 1016}# 3 #{update\ 1017}#)))
+             (lambda (#{x\ 1077}# #{update\ 1078}#)
+               (vector-set! #{x\ 1077}# 3 #{update\ 1078}#)))
            (#{set-syntax-object-wrap!\ 120}#
-             (lambda (#{x\ 1018}# #{update\ 1019}#)
-               (vector-set! #{x\ 1018}# 2 #{update\ 1019}#)))
+             (lambda (#{x\ 1079}# #{update\ 1080}#)
+               (vector-set! #{x\ 1079}# 2 #{update\ 1080}#)))
            (#{set-syntax-object-expression!\ 119}#
-             (lambda (#{x\ 1020}# #{update\ 1021}#)
-               (vector-set! #{x\ 1020}# 1 #{update\ 1021}#)))
+             (lambda (#{x\ 1081}# #{update\ 1082}#)
+               (vector-set! #{x\ 1081}# 1 #{update\ 1082}#)))
            (#{syntax-object-module\ 118}#
-             (lambda (#{x\ 1022}#) (vector-ref #{x\ 1022}# 3)))
+             (lambda (#{x\ 1083}#) (vector-ref #{x\ 1083}# 3)))
            (#{syntax-object-wrap\ 117}#
-             (lambda (#{x\ 1023}#) (vector-ref #{x\ 1023}# 2)))
+             (lambda (#{x\ 1084}#) (vector-ref #{x\ 1084}# 2)))
            (#{syntax-object-expression\ 116}#
-             (lambda (#{x\ 1024}#) (vector-ref #{x\ 1024}# 1)))
+             (lambda (#{x\ 1085}#) (vector-ref #{x\ 1085}# 1)))
            (#{syntax-object?\ 115}#
-             (lambda (#{x\ 1025}#)
-               (if (vector? #{x\ 1025}#)
-                 (if (= (vector-length #{x\ 1025}#) 4)
-                   (eq? (vector-ref #{x\ 1025}# 0)
+             (lambda (#{x\ 1086}#)
+               (if (vector? #{x\ 1086}#)
+                 (if (= (vector-length #{x\ 1086}#) 4)
+                   (eq? (vector-ref #{x\ 1086}# 0)
                         'syntax-object)
                    #f)
                  #f)))
            (#{make-syntax-object\ 114}#
-             (lambda (#{expression\ 1026}#
-                      #{wrap\ 1027}#
-                      #{module\ 1028}#)
+             (lambda (#{expression\ 1087}#
+                      #{wrap\ 1088}#
+                      #{module\ 1089}#)
                (vector
                  'syntax-object
-                 #{expression\ 1026}#
-                 #{wrap\ 1027}#
-                 #{module\ 1028}#)))
+                 #{expression\ 1087}#
+                 #{wrap\ 1088}#
+                 #{module\ 1089}#)))
            (#{build-letrec\ 113}#
-             (lambda (#{src\ 1029}#
-                      #{ids\ 1030}#
-                      #{vars\ 1031}#
-                      #{val-exps\ 1032}#
-                      #{body-exp\ 1033}#)
-               (if (null? #{vars\ 1031}#)
-                 #{body-exp\ 1033}#
-                 (let ((#{atom-key\ 1034}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1034}# (quote (c)))
+             (lambda (#{src\ 1090}#
+                      #{ids\ 1091}#
+                      #{vars\ 1092}#
+                      #{val-exps\ 1093}#
+                      #{body-exp\ 1094}#)
+               (if (null? #{vars\ 1092}#)
+                 #{body-exp\ 1094}#
+                 (let ((#{atom-key\ 1095}# (fluid-ref #{*mode*\ 85}#)))
+                   (if (memv #{atom-key\ 1095}# (quote (c)))
                      (begin
                        (for-each
                          #{maybe-name-value!\ 103}#
-                         #{ids\ 1030}#
-                         #{val-exps\ 1032}#)
+                         #{ids\ 1091}#
+                         #{val-exps\ 1093}#)
                        ((@ (language tree-il) make-letrec)
-                        #{src\ 1029}#
-                        #{ids\ 1030}#
-                        #{vars\ 1031}#
-                        #{val-exps\ 1032}#
-                        #{body-exp\ 1033}#))
+                        #{src\ 1090}#
+                        #{ids\ 1091}#
+                        #{vars\ 1092}#
+                        #{val-exps\ 1093}#
+                        #{body-exp\ 1094}#))
                      (#{decorate-source\ 94}#
                        (list 'letrec
-                             (map list #{vars\ 1031}# #{val-exps\ 1032}#)
-                             #{body-exp\ 1033}#)
-                       #{src\ 1029}#))))))
+                             (map list #{vars\ 1092}# #{val-exps\ 1093}#)
+                             #{body-exp\ 1094}#)
+                       #{src\ 1090}#))))))
            (#{build-named-let\ 112}#
-             (lambda (#{src\ 1035}#
-                      #{ids\ 1036}#
-                      #{vars\ 1037}#
-                      #{val-exps\ 1038}#
-                      #{body-exp\ 1039}#)
-               (let ((#{f\ 1040}# (car #{vars\ 1037}#))
-                     (#{f-name\ 1041}# (car #{ids\ 1036}#))
-                     (#{vars\ 1042}# (cdr #{vars\ 1037}#))
-                     (#{ids\ 1043}# (cdr #{ids\ 1036}#)))
-                 (let ((#{atom-key\ 1044}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1044}# (quote (c)))
-                     (let ((#{proc\ 1045}#
+             (lambda (#{src\ 1096}#
+                      #{ids\ 1097}#
+                      #{vars\ 1098}#
+                      #{val-exps\ 1099}#
+                      #{body-exp\ 1100}#)
+               (let ((#{f\ 1101}# (car #{vars\ 1098}#))
+                     (#{f-name\ 1102}# (car #{ids\ 1097}#))
+                     (#{vars\ 1103}# (cdr #{vars\ 1098}#))
+                     (#{ids\ 1104}# (cdr #{ids\ 1097}#)))
+                 (let ((#{atom-key\ 1105}# (fluid-ref #{*mode*\ 85}#)))
+                   (if (memv #{atom-key\ 1105}# (quote (c)))
+                     (let ((#{proc\ 1106}#
                              (#{build-simple-lambda\ 105}#
-                               #{src\ 1035}#
-                               #{ids\ 1043}#
+                               #{src\ 1096}#
+                               #{ids\ 1104}#
                                #f
-                               #{vars\ 1042}#
+                               #{vars\ 1103}#
                                #f
-                               #{body-exp\ 1039}#)))
+                               #{body-exp\ 1100}#)))
                        (begin
                          (#{maybe-name-value!\ 103}#
-                           #{f-name\ 1041}#
-                           #{proc\ 1045}#)
+                           #{f-name\ 1102}#
+                           #{proc\ 1106}#)
                          (for-each
                            #{maybe-name-value!\ 103}#
-                           #{ids\ 1043}#
-                           #{val-exps\ 1038}#)
+                           #{ids\ 1104}#
+                           #{val-exps\ 1099}#)
                          ((@ (language tree-il) make-letrec)
-                          #{src\ 1035}#
-                          (list #{f-name\ 1041}#)
-                          (list #{f\ 1040}#)
-                          (list #{proc\ 1045}#)
+                          #{src\ 1096}#
+                          (list #{f-name\ 1102}#)
+                          (list #{f\ 1101}#)
+                          (list #{proc\ 1106}#)
                           (#{build-application\ 96}#
-                            #{src\ 1035}#
+                            #{src\ 1096}#
                             (#{build-lexical-reference\ 98}#
                               'fun
-                              #{src\ 1035}#
-                              #{f-name\ 1041}#
-                              #{f\ 1040}#)
-                            #{val-exps\ 1038}#))))
+                              #{src\ 1096}#
+                              #{f-name\ 1102}#
+                              #{f\ 1101}#)
+                            #{val-exps\ 1099}#))))
                      (#{decorate-source\ 94}#
                        (list 'let
-                             #{f\ 1040}#
-                             (map list #{vars\ 1042}# #{val-exps\ 1038}#)
-                             #{body-exp\ 1039}#)
-                       #{src\ 1035}#))))))
+                             #{f\ 1101}#
+                             (map list #{vars\ 1103}# #{val-exps\ 1099}#)
+                             #{body-exp\ 1100}#)
+                       #{src\ 1096}#))))))
            (#{build-let\ 111}#
-             (lambda (#{src\ 1046}#
-                      #{ids\ 1047}#
-                      #{vars\ 1048}#
-                      #{val-exps\ 1049}#
-                      #{body-exp\ 1050}#)
-               (if (null? #{vars\ 1048}#)
-                 #{body-exp\ 1050}#
-                 (let ((#{atom-key\ 1051}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1051}# (quote (c)))
+             (lambda (#{src\ 1107}#
+                      #{ids\ 1108}#
+                      #{vars\ 1109}#
+                      #{val-exps\ 1110}#
+                      #{body-exp\ 1111}#)
+               (if (null? #{vars\ 1109}#)
+                 #{body-exp\ 1111}#
+                 (let ((#{atom-key\ 1112}# (fluid-ref #{*mode*\ 85}#)))
+                   (if (memv #{atom-key\ 1112}# (quote (c)))
                      (begin
                        (for-each
                          #{maybe-name-value!\ 103}#
-                         #{ids\ 1047}#
-                         #{val-exps\ 1049}#)
+                         #{ids\ 1108}#
+                         #{val-exps\ 1110}#)
                        ((@ (language tree-il) make-let)
-                        #{src\ 1046}#
-                        #{ids\ 1047}#
-                        #{vars\ 1048}#
-                        #{val-exps\ 1049}#
-                        #{body-exp\ 1050}#))
+                        #{src\ 1107}#
+                        #{ids\ 1108}#
+                        #{vars\ 1109}#
+                        #{val-exps\ 1110}#
+                        #{body-exp\ 1111}#))
                      (#{decorate-source\ 94}#
                        (list 'let
-                             (map list #{vars\ 1048}# #{val-exps\ 1049}#)
-                             #{body-exp\ 1050}#)
-                       #{src\ 1046}#))))))
+                             (map list #{vars\ 1109}# #{val-exps\ 1110}#)
+                             #{body-exp\ 1111}#)
+                       #{src\ 1107}#))))))
            (#{build-sequence\ 110}#
-             (lambda (#{src\ 1052}# #{exps\ 1053}#)
-               (if (null? (cdr #{exps\ 1053}#))
-                 (car #{exps\ 1053}#)
-                 (let ((#{atom-key\ 1054}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1054}# (quote (c)))
+             (lambda (#{src\ 1113}# #{exps\ 1114}#)
+               (if (null? (cdr #{exps\ 1114}#))
+                 (car #{exps\ 1114}#)
+                 (let ((#{atom-key\ 1115}# (fluid-ref #{*mode*\ 85}#)))
+                   (if (memv #{atom-key\ 1115}# (quote (c)))
                      ((@ (language tree-il) make-sequence)
-                      #{src\ 1052}#
-                      #{exps\ 1053}#)
+                      #{src\ 1113}#
+                      #{exps\ 1114}#)
                      (#{decorate-source\ 94}#
-                       (cons (quote begin) #{exps\ 1053}#)
-                       #{src\ 1052}#))))))
+                       (cons (quote begin) #{exps\ 1114}#)
+                       #{src\ 1113}#))))))
            (#{build-data\ 109}#
-             (lambda (#{src\ 1055}# #{exp\ 1056}#)
-               (let ((#{atom-key\ 1057}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1057}# (quote (c)))
+             (lambda (#{src\ 1116}# #{exp\ 1117}#)
+               (let ((#{atom-key\ 1118}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1118}# (quote (c)))
                    ((@ (language tree-il) make-const)
-                    #{src\ 1055}#
-                    #{exp\ 1056}#)
+                    #{src\ 1116}#
+                    #{exp\ 1117}#)
                    (#{decorate-source\ 94}#
-                     (if (if (self-evaluating? #{exp\ 1056}#)
-                           (not (vector? #{exp\ 1056}#))
+                     (if (if (self-evaluating? #{exp\ 1117}#)
+                           (not (vector? #{exp\ 1117}#))
                            #f)
-                       #{exp\ 1056}#
-                       (list (quote quote) #{exp\ 1056}#))
-                     #{src\ 1055}#)))))
+                       #{exp\ 1117}#
+                       (list (quote quote) #{exp\ 1117}#))
+                     #{src\ 1116}#)))))
            (#{build-primref\ 108}#
-             (lambda (#{src\ 1058}# #{name\ 1059}#)
+             (lambda (#{src\ 1119}# #{name\ 1120}#)
                (if (equal?
                      (module-name (current-module))
                      '(guile))
-                 (let ((#{atom-key\ 1060}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1060}# (quote (c)))
+                 (let ((#{atom-key\ 1121}# (fluid-ref #{*mode*\ 85}#)))
+                   (if (memv #{atom-key\ 1121}# (quote (c)))
                      ((@ (language tree-il) make-toplevel-ref)
-                      #{src\ 1058}#
-                      #{name\ 1059}#)
+                      #{src\ 1119}#
+                      #{name\ 1120}#)
                      (#{decorate-source\ 94}#
-                       #{name\ 1059}#
-                       #{src\ 1058}#)))
-                 (let ((#{atom-key\ 1061}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1061}# (quote (c)))
+                       #{name\ 1120}#
+                       #{src\ 1119}#)))
+                 (let ((#{atom-key\ 1122}# (fluid-ref #{*mode*\ 85}#)))
+                   (if (memv #{atom-key\ 1122}# (quote (c)))
                      ((@ (language tree-il) make-module-ref)
-                      #{src\ 1058}#
+                      #{src\ 1119}#
                       '(guile)
-                      #{name\ 1059}#
+                      #{name\ 1120}#
                       #f)
                      (#{decorate-source\ 94}#
-                       (list (quote @@) (quote (guile)) #{name\ 1059}#)
-                       #{src\ 1058}#))))))
+                       (list (quote @@) (quote (guile)) #{name\ 1120}#)
+                       #{src\ 1119}#))))))
            (#{build-lambda-case\ 107}#
-             (lambda (#{src\ 1062}#
-                      #{req\ 1063}#
-                      #{opt\ 1064}#
-                      #{rest\ 1065}#
-                      #{kw\ 1066}#
-                      #{inits\ 1067}#
-                      #{vars\ 1068}#
-                      #{predicate\ 1069}#
-                      #{body\ 1070}#
-                      #{else-case\ 1071}#)
-               (let ((#{atom-key\ 1072}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1072}# (quote (c)))
+             (lambda (#{src\ 1123}#
+                      #{req\ 1124}#
+                      #{opt\ 1125}#
+                      #{rest\ 1126}#
+                      #{kw\ 1127}#
+                      #{inits\ 1128}#
+                      #{vars\ 1129}#
+                      #{predicate\ 1130}#
+                      #{body\ 1131}#
+                      #{else-case\ 1132}#)
+               (let ((#{atom-key\ 1133}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1133}# (quote (c)))
                    ((@ (language tree-il) make-lambda-case)
-                    #{src\ 1062}#
-                    #{req\ 1063}#
-                    #{opt\ 1064}#
-                    #{rest\ 1065}#
-                    #{kw\ 1066}#
-                    #{inits\ 1067}#
-                    #{vars\ 1068}#
-                    #{predicate\ 1069}#
-                    #{body\ 1070}#
-                    #{else-case\ 1071}#)
-                   (let ((#{nreq\ 1073}# (length #{req\ 1063}#)))
-                     (let ((#{nopt\ 1074}#
-                             (if #{opt\ 1064}# (length #{opt\ 1064}#) 0)))
-                       (let ((#{rest-idx\ 1075}#
-                               (if #{rest\ 1065}#
-                                 (+ #{nreq\ 1073}# #{nopt\ 1074}#)
+                    #{src\ 1123}#
+                    #{req\ 1124}#
+                    #{opt\ 1125}#
+                    #{rest\ 1126}#
+                    #{kw\ 1127}#
+                    #{inits\ 1128}#
+                    #{vars\ 1129}#
+                    #{predicate\ 1130}#
+                    #{body\ 1131}#
+                    #{else-case\ 1132}#)
+                   (let ((#{nreq\ 1134}# (length #{req\ 1124}#)))
+                     (let ((#{nopt\ 1135}#
+                             (if #{opt\ 1125}# (length #{opt\ 1125}#) 0)))
+                       (let ((#{rest-idx\ 1136}#
+                               (if #{rest\ 1126}#
+                                 (+ #{nreq\ 1134}# #{nopt\ 1135}#)
                                  #f)))
-                         (let ((#{allow-other-keys?\ 1076}#
-                                 (if #{kw\ 1066}# (car #{kw\ 1066}#) #f)))
-                           (let ((#{kw-indices\ 1077}#
-                                   (map (lambda (#{x\ 1078}#)
-                                          (cons (car #{x\ 1078}#)
+                         (let ((#{allow-other-keys?\ 1137}#
+                                 (if #{kw\ 1127}# (car #{kw\ 1127}#) #f)))
+                           (let ((#{kw-indices\ 1138}#
+                                   (map (lambda (#{x\ 1139}#)
+                                          (cons (car #{x\ 1139}#)
                                                 (list-index
-                                                  #{vars\ 1068}#
-                                                  (caddr #{x\ 1078}#))))
-                                        (if #{kw\ 1066}#
-                                          (cdr #{kw\ 1066}#)
+                                                  #{vars\ 1129}#
+                                                  (caddr #{x\ 1139}#))))
+                                        (if #{kw\ 1127}#
+                                          (cdr #{kw\ 1127}#)
                                           '()))))
-                             (let ((#{nargs\ 1079}#
+                             (let ((#{nargs\ 1140}#
                                      (apply max
-                                            (+ #{nreq\ 1073}#
-                                               #{nopt\ 1074}#
-                                               (if #{rest\ 1065}# 1 0))
+                                            (+ #{nreq\ 1134}#
+                                               #{nopt\ 1135}#
+                                               (if #{rest\ 1126}# 1 0))
                                             (map 1+
                                                  (map cdr
-                                                      #{kw-indices\ 1077}#)))))
+                                                      #{kw-indices\ 1138}#)))))
                                (begin
-                                 (let ((#{t\ 1080}#
-                                         (= #{nargs\ 1079}#
-                                            (length #{vars\ 1068}#)
-                                            (+ #{nreq\ 1073}#
-                                               (length #{inits\ 1067}#)
-                                               (if #{rest\ 1065}# 1 0)))))
-                                   (if #{t\ 1080}#
-                                     #{t\ 1080}#
+                                 (let ((#{t\ 1141}#
+                                         (= #{nargs\ 1140}#
+                                            (length #{vars\ 1129}#)
+                                            (+ #{nreq\ 1134}#
+                                               (length #{inits\ 1128}#)
+                                               (if #{rest\ 1126}# 1 0)))))
+                                   (if #{t\ 1141}#
+                                     #{t\ 1141}#
                                      (error "something went wrong"
-                                            #{req\ 1063}#
-                                            #{opt\ 1064}#
-                                            #{rest\ 1065}#
-                                            #{kw\ 1066}#
-                                            #{inits\ 1067}#
-                                            #{vars\ 1068}#
-                                            #{nreq\ 1073}#
-                                            #{nopt\ 1074}#
-                                            #{kw-indices\ 1077}#
-                                            #{nargs\ 1079}#)))
+                                            #{req\ 1124}#
+                                            #{opt\ 1125}#
+                                            #{rest\ 1126}#
+                                            #{kw\ 1127}#
+                                            #{inits\ 1128}#
+                                            #{vars\ 1129}#
+                                            #{nreq\ 1134}#
+                                            #{nopt\ 1135}#
+                                            #{kw-indices\ 1138}#
+                                            #{nargs\ 1140}#)))
                                  (#{decorate-source\ 94}#
                                    (cons (list (cons '(@@ (ice-9 optargs)
                                                           parse-lambda-case)
                                                      (cons (list 'quote
-                                                                 (list #{nreq\ 
1073}#
-                                                                       #{nopt\ 
1074}#
-                                                                       
#{rest-idx\ 1075}#
-                                                                       
#{nargs\ 1079}#
-                                                                       
#{allow-other-keys?\ 1076}#
-                                                                       
#{kw-indices\ 1077}#))
+                                                                 (list #{nreq\ 
1134}#
+                                                                       #{nopt\ 
1135}#
+                                                                       
#{rest-idx\ 1136}#
+                                                                       
#{nargs\ 1140}#
+                                                                       
#{allow-other-keys?\ 1137}#
+                                                                       
#{kw-indices\ 1138}#))
                                                            (cons (cons 'list
-                                                                       (map 
(lambda (#{i\ 1081}#)
+                                                                       (map 
(lambda (#{i\ 1142}#)
                                                                               
(list 'lambda
-                                                                               
     #{vars\ 1068}#
-                                                                               
     #{i\ 1081}#))
-                                                                            
#{inits\ 1067}#))
-                                                                 (cons (if 
#{predicate\ 1069}#
+                                                                               
     #{vars\ 1129}#
+                                                                               
     #{i\ 1142}#))
+                                                                            
#{inits\ 1128}#))
+                                                                 (cons (if 
#{predicate\ 1130}#
                                                                          (list 
'lambda
-                                                                               
#{vars\ 1068}#
-                                                                               
#{predicate\ 1069}#)
+                                                                               
#{vars\ 1129}#
+                                                                               
#{predicate\ 1130}#)
                                                                          #f)
                                                                        
'(%%args)))))
                                                '=>
@@ -7523,353 +7750,353 @@
                                                      '(%%%args . _)
                                                      (cons 'apply
                                                            (cons (list 'lambda
-                                                                       #{vars\ 
1068}#
-                                                                       #{body\ 
1070}#)
+                                                                       #{vars\ 
1129}#
+                                                                       #{body\ 
1131}#)
                                                                  '(%%%args)))))
-                                         (let ((#{t\ 1082}#
-                                                 #{else-case\ 1071}#))
-                                           (if #{t\ 1082}#
-                                             #{t\ 1082}#
+                                         (let ((#{t\ 1143}#
+                                                 #{else-case\ 1132}#))
+                                           (if #{t\ 1143}#
+                                             #{t\ 1143}#
                                              '((%%args
                                                  (error "wrong number of 
arguments"
                                                         %%args))))))
-                                   #{src\ 1062}#))))))))))))
+                                   #{src\ 1123}#))))))))))))
            (#{build-case-lambda\ 106}#
-             (lambda (#{src\ 1083}#
-                      #{docstring\ 1084}#
-                      #{body\ 1085}#)
-               (let ((#{atom-key\ 1086}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1086}# (quote (c)))
+             (lambda (#{src\ 1144}#
+                      #{docstring\ 1145}#
+                      #{body\ 1146}#)
+               (let ((#{atom-key\ 1147}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1147}# (quote (c)))
                    ((@ (language tree-il) make-lambda)
-                    #{src\ 1083}#
-                    (if #{docstring\ 1084}#
-                      (list (cons (quote documentation) #{docstring\ 1084}#))
+                    #{src\ 1144}#
+                    (if #{docstring\ 1145}#
+                      (list (cons (quote documentation) #{docstring\ 1145}#))
                       '())
-                    #{body\ 1085}#)
+                    #{body\ 1146}#)
                    (#{decorate-source\ 94}#
                      (cons 'lambda
                            (cons '%%args
                                  (append
-                                   (if #{docstring\ 1084}#
-                                     (list #{docstring\ 1084}#)
+                                   (if #{docstring\ 1145}#
+                                     (list #{docstring\ 1145}#)
                                      '())
-                                   (list (cons (quote cond) #{body\ 1085}#)))))
-                     #{src\ 1083}#)))))
+                                   (list (cons (quote cond) #{body\ 1146}#)))))
+                     #{src\ 1144}#)))))
            (#{build-simple-lambda\ 105}#
-             (lambda (#{src\ 1087}#
-                      #{req\ 1088}#
-                      #{rest\ 1089}#
-                      #{vars\ 1090}#
-                      #{docstring\ 1091}#
-                      #{exp\ 1092}#)
-               (let ((#{atom-key\ 1093}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1093}# (quote (c)))
+             (lambda (#{src\ 1148}#
+                      #{req\ 1149}#
+                      #{rest\ 1150}#
+                      #{vars\ 1151}#
+                      #{docstring\ 1152}#
+                      #{exp\ 1153}#)
+               (let ((#{atom-key\ 1154}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1154}# (quote (c)))
                    ((@ (language tree-il) make-lambda)
-                    #{src\ 1087}#
-                    (if #{docstring\ 1091}#
-                      (list (cons (quote documentation) #{docstring\ 1091}#))
+                    #{src\ 1148}#
+                    (if #{docstring\ 1152}#
+                      (list (cons (quote documentation) #{docstring\ 1152}#))
                       '())
                     ((@ (language tree-il) make-lambda-case)
-                     #{src\ 1087}#
-                     #{req\ 1088}#
+                     #{src\ 1148}#
+                     #{req\ 1149}#
                      #f
-                     #{rest\ 1089}#
+                     #{rest\ 1150}#
                      #f
                      '()
-                     #{vars\ 1090}#
+                     #{vars\ 1151}#
                      #f
-                     #{exp\ 1092}#
+                     #{exp\ 1153}#
                      #f))
                    (#{decorate-source\ 94}#
                      (cons 'lambda
-                           (cons (if #{rest\ 1089}#
-                                   (apply cons* #{vars\ 1090}#)
-                                   #{vars\ 1090}#)
+                           (cons (if #{rest\ 1150}#
+                                   (apply cons* #{vars\ 1151}#)
+                                   #{vars\ 1151}#)
                                  (append
-                                   (if #{docstring\ 1091}#
-                                     (list #{docstring\ 1091}#)
+                                   (if #{docstring\ 1152}#
+                                     (list #{docstring\ 1152}#)
                                      '())
-                                   (list #{exp\ 1092}#))))
-                     #{src\ 1087}#)))))
+                                   (list #{exp\ 1153}#))))
+                     #{src\ 1148}#)))))
            (#{build-global-definition\ 104}#
-             (lambda (#{source\ 1094}# #{var\ 1095}# #{exp\ 1096}#)
-               (let ((#{atom-key\ 1097}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1097}# (quote (c)))
+             (lambda (#{source\ 1155}# #{var\ 1156}# #{exp\ 1157}#)
+               (let ((#{atom-key\ 1158}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1158}# (quote (c)))
                    (begin
                      (#{maybe-name-value!\ 103}#
-                       #{var\ 1095}#
-                       #{exp\ 1096}#)
+                       #{var\ 1156}#
+                       #{exp\ 1157}#)
                      ((@ (language tree-il) make-toplevel-define)
-                      #{source\ 1094}#
-                      #{var\ 1095}#
-                      #{exp\ 1096}#))
+                      #{source\ 1155}#
+                      #{var\ 1156}#
+                      #{exp\ 1157}#))
                    (#{decorate-source\ 94}#
-                     (list (quote define) #{var\ 1095}# #{exp\ 1096}#)
-                     #{source\ 1094}#)))))
+                     (list (quote define) #{var\ 1156}# #{exp\ 1157}#)
+                     #{source\ 1155}#)))))
            (#{maybe-name-value!\ 103}#
-             (lambda (#{name\ 1098}# #{val\ 1099}#)
-               (if ((@ (language tree-il) lambda?) #{val\ 1099}#)
-                 (let ((#{meta\ 1100}#
+             (lambda (#{name\ 1159}# #{val\ 1160}#)
+               (if ((@ (language tree-il) lambda?) #{val\ 1160}#)
+                 (let ((#{meta\ 1161}#
                          ((@ (language tree-il) lambda-meta)
-                          #{val\ 1099}#)))
-                   (if (not (assq (quote name) #{meta\ 1100}#))
+                          #{val\ 1160}#)))
+                   (if (not (assq (quote name) #{meta\ 1161}#))
                      ((setter (@ (language tree-il) lambda-meta))
-                      #{val\ 1099}#
+                      #{val\ 1160}#
                       (acons 'name
-                             #{name\ 1098}#
-                             #{meta\ 1100}#)))))))
+                             #{name\ 1159}#
+                             #{meta\ 1161}#)))))))
            (#{build-global-assignment\ 102}#
-             (lambda (#{source\ 1101}#
-                      #{var\ 1102}#
-                      #{exp\ 1103}#
-                      #{mod\ 1104}#)
+             (lambda (#{source\ 1162}#
+                      #{var\ 1163}#
+                      #{exp\ 1164}#
+                      #{mod\ 1165}#)
                (#{analyze-variable\ 100}#
-                 #{mod\ 1104}#
-                 #{var\ 1102}#
-                 (lambda (#{mod\ 1105}# #{var\ 1106}# #{public?\ 1107}#)
-                   (let ((#{atom-key\ 1108}# (fluid-ref #{*mode*\ 85}#)))
-                     (if (memv #{atom-key\ 1108}# (quote (c)))
+                 #{mod\ 1165}#
+                 #{var\ 1163}#
+                 (lambda (#{mod\ 1166}# #{var\ 1167}# #{public?\ 1168}#)
+                   (let ((#{atom-key\ 1169}# (fluid-ref #{*mode*\ 85}#)))
+                     (if (memv #{atom-key\ 1169}# (quote (c)))
                        ((@ (language tree-il) make-module-set)
-                        #{source\ 1101}#
-                        #{mod\ 1105}#
-                        #{var\ 1106}#
-                        #{public?\ 1107}#
-                        #{exp\ 1103}#)
+                        #{source\ 1162}#
+                        #{mod\ 1166}#
+                        #{var\ 1167}#
+                        #{public?\ 1168}#
+                        #{exp\ 1164}#)
                        (#{decorate-source\ 94}#
                          (list 'set!
-                               (list (if #{public?\ 1107}#
+                               (list (if #{public?\ 1168}#
                                        '@
                                        '@@)
-                                     #{mod\ 1105}#
-                                     #{var\ 1106}#)
-                               #{exp\ 1103}#)
-                         #{source\ 1101}#))))
-                 (lambda (#{var\ 1109}#)
-                   (let ((#{atom-key\ 1110}# (fluid-ref #{*mode*\ 85}#)))
-                     (if (memv #{atom-key\ 1110}# (quote (c)))
+                                     #{mod\ 1166}#
+                                     #{var\ 1167}#)
+                               #{exp\ 1164}#)
+                         #{source\ 1162}#))))
+                 (lambda (#{var\ 1170}#)
+                   (let ((#{atom-key\ 1171}# (fluid-ref #{*mode*\ 85}#)))
+                     (if (memv #{atom-key\ 1171}# (quote (c)))
                        ((@ (language tree-il) make-toplevel-set)
-                        #{source\ 1101}#
-                        #{var\ 1109}#
-                        #{exp\ 1103}#)
+                        #{source\ 1162}#
+                        #{var\ 1170}#
+                        #{exp\ 1164}#)
                        (#{decorate-source\ 94}#
-                         (list (quote set!) #{var\ 1109}# #{exp\ 1103}#)
-                         #{source\ 1101}#)))))))
+                         (list (quote set!) #{var\ 1170}# #{exp\ 1164}#)
+                         #{source\ 1162}#)))))))
            (#{build-global-reference\ 101}#
-             (lambda (#{source\ 1111}# #{var\ 1112}# #{mod\ 1113}#)
+             (lambda (#{source\ 1172}# #{var\ 1173}# #{mod\ 1174}#)
                (#{analyze-variable\ 100}#
-                 #{mod\ 1113}#
-                 #{var\ 1112}#
-                 (lambda (#{mod\ 1114}# #{var\ 1115}# #{public?\ 1116}#)
-                   (let ((#{atom-key\ 1117}# (fluid-ref #{*mode*\ 85}#)))
-                     (if (memv #{atom-key\ 1117}# (quote (c)))
+                 #{mod\ 1174}#
+                 #{var\ 1173}#
+                 (lambda (#{mod\ 1175}# #{var\ 1176}# #{public?\ 1177}#)
+                   (let ((#{atom-key\ 1178}# (fluid-ref #{*mode*\ 85}#)))
+                     (if (memv #{atom-key\ 1178}# (quote (c)))
                        ((@ (language tree-il) make-module-ref)
-                        #{source\ 1111}#
-                        #{mod\ 1114}#
-                        #{var\ 1115}#
-                        #{public?\ 1116}#)
+                        #{source\ 1172}#
+                        #{mod\ 1175}#
+                        #{var\ 1176}#
+                        #{public?\ 1177}#)
                        (#{decorate-source\ 94}#
-                         (list (if #{public?\ 1116}# (quote @) (quote @@))
-                               #{mod\ 1114}#
-                               #{var\ 1115}#)
-                         #{source\ 1111}#))))
-                 (lambda (#{var\ 1118}#)
-                   (let ((#{atom-key\ 1119}# (fluid-ref #{*mode*\ 85}#)))
-                     (if (memv #{atom-key\ 1119}# (quote (c)))
+                         (list (if #{public?\ 1177}# (quote @) (quote @@))
+                               #{mod\ 1175}#
+                               #{var\ 1176}#)
+                         #{source\ 1172}#))))
+                 (lambda (#{var\ 1179}#)
+                   (let ((#{atom-key\ 1180}# (fluid-ref #{*mode*\ 85}#)))
+                     (if (memv #{atom-key\ 1180}# (quote (c)))
                        ((@ (language tree-il) make-toplevel-ref)
-                        #{source\ 1111}#
-                        #{var\ 1118}#)
+                        #{source\ 1172}#
+                        #{var\ 1179}#)
                        (#{decorate-source\ 94}#
-                         #{var\ 1118}#
-                         #{source\ 1111}#)))))))
+                         #{var\ 1179}#
+                         #{source\ 1172}#)))))))
            (#{analyze-variable\ 100}#
-             (lambda (#{mod\ 1120}#
-                      #{var\ 1121}#
-                      #{modref-cont\ 1122}#
-                      #{bare-cont\ 1123}#)
-               (if (not #{mod\ 1120}#)
-                 (#{bare-cont\ 1123}# #{var\ 1121}#)
-                 (let ((#{kind\ 1124}# (car #{mod\ 1120}#))
-                       (#{mod\ 1125}# (cdr #{mod\ 1120}#)))
-                   (if (memv #{kind\ 1124}# (quote (public)))
-                     (#{modref-cont\ 1122}#
-                       #{mod\ 1125}#
-                       #{var\ 1121}#
+             (lambda (#{mod\ 1181}#
+                      #{var\ 1182}#
+                      #{modref-cont\ 1183}#
+                      #{bare-cont\ 1184}#)
+               (if (not #{mod\ 1181}#)
+                 (#{bare-cont\ 1184}# #{var\ 1182}#)
+                 (let ((#{kind\ 1185}# (car #{mod\ 1181}#))
+                       (#{mod\ 1186}# (cdr #{mod\ 1181}#)))
+                   (if (memv #{kind\ 1185}# (quote (public)))
+                     (#{modref-cont\ 1183}#
+                       #{mod\ 1186}#
+                       #{var\ 1182}#
                        #t)
-                     (if (memv #{kind\ 1124}# (quote (private)))
+                     (if (memv #{kind\ 1185}# (quote (private)))
                        (if (not (equal?
-                                  #{mod\ 1125}#
+                                  #{mod\ 1186}#
                                   (module-name (current-module))))
-                         (#{modref-cont\ 1122}#
-                           #{mod\ 1125}#
-                           #{var\ 1121}#
+                         (#{modref-cont\ 1183}#
+                           #{mod\ 1186}#
+                           #{var\ 1182}#
                            #f)
-                         (#{bare-cont\ 1123}# #{var\ 1121}#))
-                       (if (memv #{kind\ 1124}# (quote (bare)))
-                         (#{bare-cont\ 1123}# #{var\ 1121}#)
-                         (if (memv #{kind\ 1124}# (quote (hygiene)))
+                         (#{bare-cont\ 1184}# #{var\ 1182}#))
+                       (if (memv #{kind\ 1185}# (quote (bare)))
+                         (#{bare-cont\ 1184}# #{var\ 1182}#)
+                         (if (memv #{kind\ 1185}# (quote (hygiene)))
                            (if (if (not (equal?
-                                          #{mod\ 1125}#
+                                          #{mod\ 1186}#
                                           (module-name (current-module))))
                                  (module-variable
-                                   (resolve-module #{mod\ 1125}#)
-                                   #{var\ 1121}#)
+                                   (resolve-module #{mod\ 1186}#)
+                                   #{var\ 1182}#)
                                  #f)
-                             (#{modref-cont\ 1122}#
-                               #{mod\ 1125}#
-                               #{var\ 1121}#
+                             (#{modref-cont\ 1183}#
+                               #{mod\ 1186}#
+                               #{var\ 1182}#
                                #f)
-                             (#{bare-cont\ 1123}# #{var\ 1121}#))
+                             (#{bare-cont\ 1184}# #{var\ 1182}#))
                            (syntax-violation
                              #f
                              "bad module kind"
-                             #{var\ 1121}#
-                             #{mod\ 1125}#)))))))))
+                             #{var\ 1182}#
+                             #{mod\ 1186}#)))))))))
            (#{build-lexical-assignment\ 99}#
-             (lambda (#{source\ 1126}#
-                      #{name\ 1127}#
-                      #{var\ 1128}#
-                      #{exp\ 1129}#)
-               (let ((#{atom-key\ 1130}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1130}# (quote (c)))
+             (lambda (#{source\ 1187}#
+                      #{name\ 1188}#
+                      #{var\ 1189}#
+                      #{exp\ 1190}#)
+               (let ((#{atom-key\ 1191}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1191}# (quote (c)))
                    ((@ (language tree-il) make-lexical-set)
-                    #{source\ 1126}#
-                    #{name\ 1127}#
-                    #{var\ 1128}#
-                    #{exp\ 1129}#)
+                    #{source\ 1187}#
+                    #{name\ 1188}#
+                    #{var\ 1189}#
+                    #{exp\ 1190}#)
                    (#{decorate-source\ 94}#
-                     (list (quote set!) #{var\ 1128}# #{exp\ 1129}#)
-                     #{source\ 1126}#)))))
+                     (list (quote set!) #{var\ 1189}# #{exp\ 1190}#)
+                     #{source\ 1187}#)))))
            (#{build-lexical-reference\ 98}#
-             (lambda (#{type\ 1131}#
-                      #{source\ 1132}#
-                      #{name\ 1133}#
-                      #{var\ 1134}#)
-               (let ((#{atom-key\ 1135}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1135}# (quote (c)))
+             (lambda (#{type\ 1192}#
+                      #{source\ 1193}#
+                      #{name\ 1194}#
+                      #{var\ 1195}#)
+               (let ((#{atom-key\ 1196}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1196}# (quote (c)))
                    ((@ (language tree-il) make-lexical-ref)
-                    #{source\ 1132}#
-                    #{name\ 1133}#
-                    #{var\ 1134}#)
+                    #{source\ 1193}#
+                    #{name\ 1194}#
+                    #{var\ 1195}#)
                    (#{decorate-source\ 94}#
-                     #{var\ 1134}#
-                     #{source\ 1132}#)))))
+                     #{var\ 1195}#
+                     #{source\ 1193}#)))))
            (#{build-conditional\ 97}#
-             (lambda (#{source\ 1136}#
-                      #{test-exp\ 1137}#
-                      #{then-exp\ 1138}#
-                      #{else-exp\ 1139}#)
-               (let ((#{atom-key\ 1140}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1140}# (quote (c)))
+             (lambda (#{source\ 1197}#
+                      #{test-exp\ 1198}#
+                      #{then-exp\ 1199}#
+                      #{else-exp\ 1200}#)
+               (let ((#{atom-key\ 1201}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1201}# (quote (c)))
                    ((@ (language tree-il) make-conditional)
-                    #{source\ 1136}#
-                    #{test-exp\ 1137}#
-                    #{then-exp\ 1138}#
-                    #{else-exp\ 1139}#)
+                    #{source\ 1197}#
+                    #{test-exp\ 1198}#
+                    #{then-exp\ 1199}#
+                    #{else-exp\ 1200}#)
                    (#{decorate-source\ 94}#
-                     (if (equal? #{else-exp\ 1139}# (quote (if #f #f)))
+                     (if (equal? #{else-exp\ 1200}# (quote (if #f #f)))
                        (list 'if
-                             #{test-exp\ 1137}#
-                             #{then-exp\ 1138}#)
+                             #{test-exp\ 1198}#
+                             #{then-exp\ 1199}#)
                        (list 'if
-                             #{test-exp\ 1137}#
-                             #{then-exp\ 1138}#
-                             #{else-exp\ 1139}#))
-                     #{source\ 1136}#)))))
+                             #{test-exp\ 1198}#
+                             #{then-exp\ 1199}#
+                             #{else-exp\ 1200}#))
+                     #{source\ 1197}#)))))
            (#{build-application\ 96}#
-             (lambda (#{source\ 1141}#
-                      #{fun-exp\ 1142}#
-                      #{arg-exps\ 1143}#)
-               (let ((#{atom-key\ 1144}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1144}# (quote (c)))
+             (lambda (#{source\ 1202}#
+                      #{fun-exp\ 1203}#
+                      #{arg-exps\ 1204}#)
+               (let ((#{atom-key\ 1205}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1205}# (quote (c)))
                    ((@ (language tree-il) make-application)
-                    #{source\ 1141}#
-                    #{fun-exp\ 1142}#
-                    #{arg-exps\ 1143}#)
+                    #{source\ 1202}#
+                    #{fun-exp\ 1203}#
+                    #{arg-exps\ 1204}#)
                    (#{decorate-source\ 94}#
-                     (cons #{fun-exp\ 1142}# #{arg-exps\ 1143}#)
-                     #{source\ 1141}#)))))
+                     (cons #{fun-exp\ 1203}# #{arg-exps\ 1204}#)
+                     #{source\ 1202}#)))))
            (#{build-void\ 95}#
-             (lambda (#{source\ 1145}#)
-               (let ((#{atom-key\ 1146}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1146}# (quote (c)))
+             (lambda (#{source\ 1206}#)
+               (let ((#{atom-key\ 1207}# (fluid-ref #{*mode*\ 85}#)))
+                 (if (memv #{atom-key\ 1207}# (quote (c)))
                    ((@ (language tree-il) make-void)
-                    #{source\ 1145}#)
+                    #{source\ 1206}#)
                    (#{decorate-source\ 94}#
                      '(if #f #f)
-                     #{source\ 1145}#)))))
+                     #{source\ 1206}#)))))
            (#{decorate-source\ 94}#
-             (lambda (#{e\ 1147}# #{s\ 1148}#)
+             (lambda (#{e\ 1208}# #{s\ 1209}#)
                (begin
-                 (if (if (pair? #{e\ 1147}#) #{s\ 1148}# #f)
-                   (set-source-properties! #{e\ 1147}# #{s\ 1148}#))
-                 #{e\ 1147}#)))
+                 (if (if (pair? #{e\ 1208}#) #{s\ 1209}# #f)
+                   (set-source-properties! #{e\ 1208}# #{s\ 1209}#))
+                 #{e\ 1208}#)))
            (#{get-global-definition-hook\ 93}#
-             (lambda (#{symbol\ 1149}# #{module\ 1150}#)
+             (lambda (#{symbol\ 1210}# #{module\ 1211}#)
                (begin
-                 (if (if (not #{module\ 1150}#) (current-module) #f)
+                 (if (if (not #{module\ 1211}#) (current-module) #f)
                    (warn "module system is booted, we should have a module"
-                         #{symbol\ 1149}#))
-                 (let ((#{v\ 1151}#
+                         #{symbol\ 1210}#))
+                 (let ((#{v\ 1212}#
                          (module-variable
-                           (if #{module\ 1150}#
-                             (resolve-module (cdr #{module\ 1150}#))
+                           (if #{module\ 1211}#
+                             (resolve-module (cdr #{module\ 1211}#))
                              (current-module))
-                           #{symbol\ 1149}#)))
-                   (if #{v\ 1151}#
-                     (if (variable-bound? #{v\ 1151}#)
-                       (let ((#{val\ 1152}# (variable-ref #{v\ 1151}#)))
-                         (if (macro? #{val\ 1152}#)
-                           (if (syncase-macro-type #{val\ 1152}#)
-                             (cons (syncase-macro-type #{val\ 1152}#)
-                                   (syncase-macro-binding #{val\ 1152}#))
+                           #{symbol\ 1210}#)))
+                   (if #{v\ 1212}#
+                     (if (variable-bound? #{v\ 1212}#)
+                       (let ((#{val\ 1213}# (variable-ref #{v\ 1212}#)))
+                         (if (macro? #{val\ 1213}#)
+                           (if (syncase-macro-type #{val\ 1213}#)
+                             (cons (syncase-macro-type #{val\ 1213}#)
+                                   (syncase-macro-binding #{val\ 1213}#))
                              #f)
                            #f))
                        #f)
                      #f)))))
            (#{put-global-definition-hook\ 92}#
-             (lambda (#{symbol\ 1153}# #{type\ 1154}# #{val\ 1155}#)
-               (let ((#{existing\ 1156}#
-                       (let ((#{v\ 1157}#
+             (lambda (#{symbol\ 1214}# #{type\ 1215}# #{val\ 1216}#)
+               (let ((#{existing\ 1217}#
+                       (let ((#{v\ 1218}#
                                (module-variable
                                  (current-module)
-                                 #{symbol\ 1153}#)))
-                         (if #{v\ 1157}#
-                           (if (variable-bound? #{v\ 1157}#)
-                             (let ((#{val\ 1158}# (variable-ref #{v\ 1157}#)))
-                               (if (macro? #{val\ 1158}#)
-                                 (if (not (syncase-macro-type #{val\ 1158}#))
-                                   #{val\ 1158}#
+                                 #{symbol\ 1214}#)))
+                         (if #{v\ 1218}#
+                           (if (variable-bound? #{v\ 1218}#)
+                             (let ((#{val\ 1219}# (variable-ref #{v\ 1218}#)))
+                               (if (macro? #{val\ 1219}#)
+                                 (if (not (syncase-macro-type #{val\ 1219}#))
+                                   #{val\ 1219}#
                                    #f)
                                  #f))
                              #f)
                            #f))))
                  (module-define!
                    (current-module)
-                   #{symbol\ 1153}#
-                   (if #{existing\ 1156}#
+                   #{symbol\ 1214}#
+                   (if #{existing\ 1217}#
                      (make-extended-syncase-macro
-                       #{existing\ 1156}#
-                       #{type\ 1154}#
-                       #{val\ 1155}#)
-                     (make-syncase-macro #{type\ 1154}# #{val\ 1155}#))))))
+                       #{existing\ 1217}#
+                       #{type\ 1215}#
+                       #{val\ 1216}#)
+                     (make-syncase-macro #{type\ 1215}# #{val\ 1216}#))))))
            (#{local-eval-hook\ 91}#
-             (lambda (#{x\ 1159}# #{mod\ 1160}#)
+             (lambda (#{x\ 1220}# #{mod\ 1221}#)
                (primitive-eval
                  (list #{noexpand\ 84}#
-                       (let ((#{atom-key\ 1161}# (fluid-ref #{*mode*\ 85}#)))
-                         (if (memv #{atom-key\ 1161}# (quote (c)))
+                       (let ((#{atom-key\ 1222}# (fluid-ref #{*mode*\ 85}#)))
+                         (if (memv #{atom-key\ 1222}# (quote (c)))
                            ((@ (language tree-il) tree-il->scheme)
-                            #{x\ 1159}#)
-                           #{x\ 1159}#))))))
+                            #{x\ 1220}#)
+                           #{x\ 1220}#))))))
            (#{top-level-eval-hook\ 90}#
-             (lambda (#{x\ 1162}# #{mod\ 1163}#)
+             (lambda (#{x\ 1223}# #{mod\ 1224}#)
                (primitive-eval
                  (list #{noexpand\ 84}#
-                       (let ((#{atom-key\ 1164}# (fluid-ref #{*mode*\ 85}#)))
-                         (if (memv #{atom-key\ 1164}# (quote (c)))
+                       (let ((#{atom-key\ 1225}# (fluid-ref #{*mode*\ 85}#)))
+                         (if (memv #{atom-key\ 1225}# (quote (c)))
                            ((@ (language tree-il) tree-il->scheme)
-                            #{x\ 1162}#)
-                           #{x\ 1162}#))))))
+                            #{x\ 1223}#)
+                           #{x\ 1223}#))))))
            (#{fx<\ 89}# <)
            (#{fx=\ 88}# =)
            (#{fx-\ 87}# -)
@@ -7888,1068 +8115,1070 @@
       (#{global-extend\ 129}#
         'core
         'fluid-let-syntax
-        (lambda (#{e\ 1165}#
-                 #{r\ 1166}#
-                 #{w\ 1167}#
-                 #{s\ 1168}#
-                 #{mod\ 1169}#)
-          ((lambda (#{tmp\ 1170}#)
-             ((lambda (#{tmp\ 1171}#)
-                (if (if #{tmp\ 1171}#
-                      (apply (lambda (#{_\ 1172}#
-                                      #{var\ 1173}#
-                                      #{val\ 1174}#
-                                      #{e1\ 1175}#
-                                      #{e2\ 1176}#)
-                               (#{valid-bound-ids?\ 156}# #{var\ 1173}#))
-                             #{tmp\ 1171}#)
+        (lambda (#{e\ 1226}#
+                 #{r\ 1227}#
+                 #{w\ 1228}#
+                 #{s\ 1229}#
+                 #{mod\ 1230}#)
+          ((lambda (#{tmp\ 1231}#)
+             ((lambda (#{tmp\ 1232}#)
+                (if (if #{tmp\ 1232}#
+                      (apply (lambda (#{_\ 1233}#
+                                      #{var\ 1234}#
+                                      #{val\ 1235}#
+                                      #{e1\ 1236}#
+                                      #{e2\ 1237}#)
+                               (#{valid-bound-ids?\ 156}# #{var\ 1234}#))
+                             #{tmp\ 1232}#)
                       #f)
-                  (apply (lambda (#{_\ 1178}#
-                                  #{var\ 1179}#
-                                  #{val\ 1180}#
-                                  #{e1\ 1181}#
-                                  #{e2\ 1182}#)
-                           (let ((#{names\ 1183}#
-                                   (map (lambda (#{x\ 1184}#)
+                  (apply (lambda (#{_\ 1239}#
+                                  #{var\ 1240}#
+                                  #{val\ 1241}#
+                                  #{e1\ 1242}#
+                                  #{e2\ 1243}#)
+                           (let ((#{names\ 1244}#
+                                   (map (lambda (#{x\ 1245}#)
                                           (#{id-var-name\ 153}#
-                                            #{x\ 1184}#
-                                            #{w\ 1167}#))
-                                        #{var\ 1179}#)))
+                                            #{x\ 1245}#
+                                            #{w\ 1228}#))
+                                        #{var\ 1240}#)))
                              (begin
                                (for-each
-                                 (lambda (#{id\ 1186}# #{n\ 1187}#)
-                                   (let ((#{atom-key\ 1188}#
+                                 (lambda (#{id\ 1247}# #{n\ 1248}#)
+                                   (let ((#{atom-key\ 1249}#
                                            (#{binding-type\ 123}#
                                              (#{lookup\ 128}#
-                                               #{n\ 1187}#
-                                               #{r\ 1166}#
-                                               #{mod\ 1169}#))))
-                                     (if (memv #{atom-key\ 1188}#
+                                               #{n\ 1248}#
+                                               #{r\ 1227}#
+                                               #{mod\ 1230}#))))
+                                     (if (memv #{atom-key\ 1249}#
                                                '(displaced-lexical))
                                        (syntax-violation
                                          'fluid-let-syntax
                                          "identifier out of context"
-                                         #{e\ 1165}#
+                                         #{e\ 1226}#
                                          (#{source-wrap\ 160}#
-                                           #{id\ 1186}#
-                                           #{w\ 1167}#
-                                           #{s\ 1168}#
-                                           #{mod\ 1169}#)))))
-                                 #{var\ 1179}#
-                                 #{names\ 1183}#)
+                                           #{id\ 1247}#
+                                           #{w\ 1228}#
+                                           #{s\ 1229}#
+                                           #{mod\ 1230}#)))))
+                                 #{var\ 1240}#
+                                 #{names\ 1244}#)
                                (#{chi-body\ 171}#
-                                 (cons #{e1\ 1181}# #{e2\ 1182}#)
+                                 (cons #{e1\ 1242}# #{e2\ 1243}#)
                                  (#{source-wrap\ 160}#
-                                   #{e\ 1165}#
-                                   #{w\ 1167}#
-                                   #{s\ 1168}#
-                                   #{mod\ 1169}#)
+                                   #{e\ 1226}#
+                                   #{w\ 1228}#
+                                   #{s\ 1229}#
+                                   #{mod\ 1230}#)
                                  (#{extend-env\ 125}#
-                                   #{names\ 1183}#
-                                   (let ((#{trans-r\ 1191}#
+                                   #{names\ 1244}#
+                                   (let ((#{trans-r\ 1252}#
                                            (#{macros-only-env\ 127}#
-                                             #{r\ 1166}#)))
-                                     (map (lambda (#{x\ 1192}#)
+                                             #{r\ 1227}#)))
+                                     (map (lambda (#{x\ 1253}#)
                                             (cons 'macro
                                                   (#{eval-local-transformer\ 
173}#
                                                     (#{chi\ 167}#
-                                                      #{x\ 1192}#
-                                                      #{trans-r\ 1191}#
-                                                      #{w\ 1167}#
-                                                      #{mod\ 1169}#)
-                                                    #{mod\ 1169}#)))
-                                          #{val\ 1180}#))
-                                   #{r\ 1166}#)
-                                 #{w\ 1167}#
-                                 #{mod\ 1169}#))))
-                         #{tmp\ 1171}#)
-                  ((lambda (#{_\ 1194}#)
+                                                      #{x\ 1253}#
+                                                      #{trans-r\ 1252}#
+                                                      #{w\ 1228}#
+                                                      #{mod\ 1230}#)
+                                                    #{mod\ 1230}#)))
+                                          #{val\ 1241}#))
+                                   #{r\ 1227}#)
+                                 #{w\ 1228}#
+                                 #{mod\ 1230}#))))
+                         #{tmp\ 1232}#)
+                  ((lambda (#{_\ 1255}#)
                      (syntax-violation
                        'fluid-let-syntax
                        "bad syntax"
                        (#{source-wrap\ 160}#
-                         #{e\ 1165}#
-                         #{w\ 1167}#
-                         #{s\ 1168}#
-                         #{mod\ 1169}#)))
-                   #{tmp\ 1170}#)))
+                         #{e\ 1226}#
+                         #{w\ 1228}#
+                         #{s\ 1229}#
+                         #{mod\ 1230}#)))
+                   #{tmp\ 1231}#)))
               ($sc-dispatch
-                #{tmp\ 1170}#
+                #{tmp\ 1231}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 1165}#)))
+           #{e\ 1226}#)))
       (#{global-extend\ 129}#
         'core
         'quote
-        (lambda (#{e\ 1195}#
-                 #{r\ 1196}#
-                 #{w\ 1197}#
-                 #{s\ 1198}#
-                 #{mod\ 1199}#)
-          ((lambda (#{tmp\ 1200}#)
-             ((lambda (#{tmp\ 1201}#)
-                (if #{tmp\ 1201}#
-                  (apply (lambda (#{_\ 1202}# #{e\ 1203}#)
+        (lambda (#{e\ 1256}#
+                 #{r\ 1257}#
+                 #{w\ 1258}#
+                 #{s\ 1259}#
+                 #{mod\ 1260}#)
+          ((lambda (#{tmp\ 1261}#)
+             ((lambda (#{tmp\ 1262}#)
+                (if #{tmp\ 1262}#
+                  (apply (lambda (#{_\ 1263}# #{e\ 1264}#)
                            (#{build-data\ 109}#
-                             #{s\ 1198}#
-                             (#{strip\ 180}# #{e\ 1203}# #{w\ 1197}#)))
-                         #{tmp\ 1201}#)
-                  ((lambda (#{_\ 1204}#)
+                             #{s\ 1259}#
+                             (#{strip\ 180}# #{e\ 1264}# #{w\ 1258}#)))
+                         #{tmp\ 1262}#)
+                  ((lambda (#{_\ 1265}#)
                      (syntax-violation
                        'quote
                        "bad syntax"
                        (#{source-wrap\ 160}#
-                         #{e\ 1195}#
-                         #{w\ 1197}#
-                         #{s\ 1198}#
-                         #{mod\ 1199}#)))
-                   #{tmp\ 1200}#)))
-              ($sc-dispatch #{tmp\ 1200}# (quote (any any)))))
-           #{e\ 1195}#)))
+                         #{e\ 1256}#
+                         #{w\ 1258}#
+                         #{s\ 1259}#
+                         #{mod\ 1260}#)))
+                   #{tmp\ 1261}#)))
+              ($sc-dispatch #{tmp\ 1261}# (quote (any any)))))
+           #{e\ 1256}#)))
       (#{global-extend\ 129}#
         'core
         'syntax
-        (letrec ((#{regen\ 1212}#
-                   (lambda (#{x\ 1213}#)
-                     (let ((#{atom-key\ 1214}# (car #{x\ 1213}#)))
-                       (if (memv #{atom-key\ 1214}# (quote (ref)))
+        (letrec ((#{regen\ 1273}#
+                   (lambda (#{x\ 1274}#)
+                     (let ((#{atom-key\ 1275}# (car #{x\ 1274}#)))
+                       (if (memv #{atom-key\ 1275}# (quote (ref)))
                          (#{build-lexical-reference\ 98}#
                            'value
                            #f
-                           (cadr #{x\ 1213}#)
-                           (cadr #{x\ 1213}#))
-                         (if (memv #{atom-key\ 1214}# (quote (primitive)))
-                           (#{build-primref\ 108}# #f (cadr #{x\ 1213}#))
-                           (if (memv #{atom-key\ 1214}# (quote (quote)))
-                             (#{build-data\ 109}# #f (cadr #{x\ 1213}#))
-                             (if (memv #{atom-key\ 1214}# (quote (lambda)))
-                               (if (list? (cadr #{x\ 1213}#))
+                           (cadr #{x\ 1274}#)
+                           (cadr #{x\ 1274}#))
+                         (if (memv #{atom-key\ 1275}# (quote (primitive)))
+                           (#{build-primref\ 108}# #f (cadr #{x\ 1274}#))
+                           (if (memv #{atom-key\ 1275}# (quote (quote)))
+                             (#{build-data\ 109}# #f (cadr #{x\ 1274}#))
+                             (if (memv #{atom-key\ 1275}# (quote (lambda)))
+                               (if (list? (cadr #{x\ 1274}#))
                                  (#{build-simple-lambda\ 105}#
                                    #f
-                                   (cadr #{x\ 1213}#)
+                                   (cadr #{x\ 1274}#)
                                    #f
-                                   (cadr #{x\ 1213}#)
+                                   (cadr #{x\ 1274}#)
                                    #f
-                                   (#{regen\ 1212}# (caddr #{x\ 1213}#)))
-                                 (error "how did we get here" #{x\ 1213}#))
+                                   (#{regen\ 1273}# (caddr #{x\ 1274}#)))
+                                 (error "how did we get here" #{x\ 1274}#))
                                (#{build-application\ 96}#
                                  #f
-                                 (#{build-primref\ 108}# #f (car #{x\ 1213}#))
-                                 (map #{regen\ 1212}#
-                                      (cdr #{x\ 1213}#))))))))))
-                 (#{gen-vector\ 1211}#
-                   (lambda (#{x\ 1215}#)
-                     (if (eq? (car #{x\ 1215}#) (quote list))
-                       (cons (quote vector) (cdr #{x\ 1215}#))
-                       (if (eq? (car #{x\ 1215}#) (quote quote))
+                                 (#{build-primref\ 108}# #f (car #{x\ 1274}#))
+                                 (map #{regen\ 1273}#
+                                      (cdr #{x\ 1274}#))))))))))
+                 (#{gen-vector\ 1272}#
+                   (lambda (#{x\ 1276}#)
+                     (if (eq? (car #{x\ 1276}#) (quote list))
+                       (cons (quote vector) (cdr #{x\ 1276}#))
+                       (if (eq? (car #{x\ 1276}#) (quote quote))
                          (list 'quote
-                               (list->vector (cadr #{x\ 1215}#)))
-                         (list (quote list->vector) #{x\ 1215}#)))))
-                 (#{gen-append\ 1210}#
-                   (lambda (#{x\ 1216}# #{y\ 1217}#)
-                     (if (equal? #{y\ 1217}# (quote (quote ())))
-                       #{x\ 1216}#
-                       (list (quote append) #{x\ 1216}# #{y\ 1217}#))))
-                 (#{gen-cons\ 1209}#
-                   (lambda (#{x\ 1218}# #{y\ 1219}#)
-                     (let ((#{atom-key\ 1220}# (car #{y\ 1219}#)))
-                       (if (memv #{atom-key\ 1220}# (quote (quote)))
-                         (if (eq? (car #{x\ 1218}#) (quote quote))
+                               (list->vector (cadr #{x\ 1276}#)))
+                         (list (quote list->vector) #{x\ 1276}#)))))
+                 (#{gen-append\ 1271}#
+                   (lambda (#{x\ 1277}# #{y\ 1278}#)
+                     (if (equal? #{y\ 1278}# (quote (quote ())))
+                       #{x\ 1277}#
+                       (list (quote append) #{x\ 1277}# #{y\ 1278}#))))
+                 (#{gen-cons\ 1270}#
+                   (lambda (#{x\ 1279}# #{y\ 1280}#)
+                     (let ((#{atom-key\ 1281}# (car #{y\ 1280}#)))
+                       (if (memv #{atom-key\ 1281}# (quote (quote)))
+                         (if (eq? (car #{x\ 1279}#) (quote quote))
                            (list 'quote
-                                 (cons (cadr #{x\ 1218}#) (cadr #{y\ 1219}#)))
-                           (if (eq? (cadr #{y\ 1219}#) (quote ()))
-                             (list (quote list) #{x\ 1218}#)
-                             (list (quote cons) #{x\ 1218}# #{y\ 1219}#)))
-                         (if (memv #{atom-key\ 1220}# (quote (list)))
+                                 (cons (cadr #{x\ 1279}#) (cadr #{y\ 1280}#)))
+                           (if (eq? (cadr #{y\ 1280}#) (quote ()))
+                             (list (quote list) #{x\ 1279}#)
+                             (list (quote cons) #{x\ 1279}# #{y\ 1280}#)))
+                         (if (memv #{atom-key\ 1281}# (quote (list)))
                            (cons 'list
-                                 (cons #{x\ 1218}# (cdr #{y\ 1219}#)))
-                           (list (quote cons) #{x\ 1218}# #{y\ 1219}#))))))
-                 (#{gen-map\ 1208}#
-                   (lambda (#{e\ 1221}# #{map-env\ 1222}#)
-                     (let ((#{formals\ 1223}# (map cdr #{map-env\ 1222}#))
-                           (#{actuals\ 1224}#
-                             (map (lambda (#{x\ 1225}#)
-                                    (list (quote ref) (car #{x\ 1225}#)))
-                                  #{map-env\ 1222}#)))
-                       (if (eq? (car #{e\ 1221}#) (quote ref))
-                         (car #{actuals\ 1224}#)
+                                 (cons #{x\ 1279}# (cdr #{y\ 1280}#)))
+                           (list (quote cons) #{x\ 1279}# #{y\ 1280}#))))))
+                 (#{gen-map\ 1269}#
+                   (lambda (#{e\ 1282}# #{map-env\ 1283}#)
+                     (let ((#{formals\ 1284}# (map cdr #{map-env\ 1283}#))
+                           (#{actuals\ 1285}#
+                             (map (lambda (#{x\ 1286}#)
+                                    (list (quote ref) (car #{x\ 1286}#)))
+                                  #{map-env\ 1283}#)))
+                       (if (eq? (car #{e\ 1282}#) (quote ref))
+                         (car #{actuals\ 1285}#)
                          (if (and-map
-                               (lambda (#{x\ 1226}#)
-                                 (if (eq? (car #{x\ 1226}#) (quote ref))
-                                   (memq (cadr #{x\ 1226}#) #{formals\ 1223}#)
+                               (lambda (#{x\ 1287}#)
+                                 (if (eq? (car #{x\ 1287}#) (quote ref))
+                                   (memq (cadr #{x\ 1287}#) #{formals\ 1284}#)
                                    #f))
-                               (cdr #{e\ 1221}#))
+                               (cdr #{e\ 1282}#))
                            (cons 'map
                                  (cons (list 'primitive
-                                             (car #{e\ 1221}#))
-                                       (map (let ((#{r\ 1227}#
+                                             (car #{e\ 1282}#))
+                                       (map (let ((#{r\ 1288}#
                                                     (map cons
-                                                         #{formals\ 1223}#
-                                                         #{actuals\ 1224}#)))
-                                              (lambda (#{x\ 1228}#)
-                                                (cdr (assq (cadr #{x\ 1228}#)
-                                                           #{r\ 1227}#))))
-                                            (cdr #{e\ 1221}#))))
+                                                         #{formals\ 1284}#
+                                                         #{actuals\ 1285}#)))
+                                              (lambda (#{x\ 1289}#)
+                                                (cdr (assq (cadr #{x\ 1289}#)
+                                                           #{r\ 1288}#))))
+                                            (cdr #{e\ 1282}#))))
                            (cons 'map
                                  (cons (list 'lambda
-                                             #{formals\ 1223}#
-                                             #{e\ 1221}#)
-                                       #{actuals\ 1224}#)))))))
-                 (#{gen-mappend\ 1207}#
-                   (lambda (#{e\ 1229}# #{map-env\ 1230}#)
+                                             #{formals\ 1284}#
+                                             #{e\ 1282}#)
+                                       #{actuals\ 1285}#)))))))
+                 (#{gen-mappend\ 1268}#
+                   (lambda (#{e\ 1290}# #{map-env\ 1291}#)
                      (list 'apply
                            '(primitive append)
-                           (#{gen-map\ 1208}# #{e\ 1229}# #{map-env\ 1230}#))))
-                 (#{gen-ref\ 1206}#
-                   (lambda (#{src\ 1231}#
-                            #{var\ 1232}#
-                            #{level\ 1233}#
-                            #{maps\ 1234}#)
-                     (if (#{fx=\ 88}# #{level\ 1233}# 0)
-                       (values #{var\ 1232}# #{maps\ 1234}#)
-                       (if (null? #{maps\ 1234}#)
+                           (#{gen-map\ 1269}# #{e\ 1290}# #{map-env\ 1291}#))))
+                 (#{gen-ref\ 1267}#
+                   (lambda (#{src\ 1292}#
+                            #{var\ 1293}#
+                            #{level\ 1294}#
+                            #{maps\ 1295}#)
+                     (if (#{fx=\ 88}# #{level\ 1294}# 0)
+                       (values #{var\ 1293}# #{maps\ 1295}#)
+                       (if (null? #{maps\ 1295}#)
                          (syntax-violation
                            'syntax
                            "missing ellipsis"
-                           #{src\ 1231}#)
+                           #{src\ 1292}#)
                          (call-with-values
                            (lambda ()
-                             (#{gen-ref\ 1206}#
-                               #{src\ 1231}#
-                               #{var\ 1232}#
-                               (#{fx-\ 87}# #{level\ 1233}# 1)
-                               (cdr #{maps\ 1234}#)))
-                           (lambda (#{outer-var\ 1235}# #{outer-maps\ 1236}#)
-                             (let ((#{b\ 1237}#
-                                     (assq #{outer-var\ 1235}#
-                                           (car #{maps\ 1234}#))))
-                               (if #{b\ 1237}#
-                                 (values (cdr #{b\ 1237}#) #{maps\ 1234}#)
-                                 (let ((#{inner-var\ 1238}#
+                             (#{gen-ref\ 1267}#
+                               #{src\ 1292}#
+                               #{var\ 1293}#
+                               (#{fx-\ 87}# #{level\ 1294}# 1)
+                               (cdr #{maps\ 1295}#)))
+                           (lambda (#{outer-var\ 1296}# #{outer-maps\ 1297}#)
+                             (let ((#{b\ 1298}#
+                                     (assq #{outer-var\ 1296}#
+                                           (car #{maps\ 1295}#))))
+                               (if #{b\ 1298}#
+                                 (values (cdr #{b\ 1298}#) #{maps\ 1295}#)
+                                 (let ((#{inner-var\ 1299}#
                                          (#{gen-var\ 181}# (quote tmp))))
                                    (values
-                                     #{inner-var\ 1238}#
-                                     (cons (cons (cons #{outer-var\ 1235}#
-                                                       #{inner-var\ 1238}#)
-                                                 (car #{maps\ 1234}#))
-                                           #{outer-maps\ 1236}#)))))))))))
-                 (#{gen-syntax\ 1205}#
-                   (lambda (#{src\ 1239}#
-                            #{e\ 1240}#
-                            #{r\ 1241}#
-                            #{maps\ 1242}#
-                            #{ellipsis?\ 1243}#
-                            #{mod\ 1244}#)
-                     (if (#{id?\ 131}# #{e\ 1240}#)
-                       (let ((#{label\ 1245}#
+                                     #{inner-var\ 1299}#
+                                     (cons (cons (cons #{outer-var\ 1296}#
+                                                       #{inner-var\ 1299}#)
+                                                 (car #{maps\ 1295}#))
+                                           #{outer-maps\ 1297}#)))))))))))
+                 (#{gen-syntax\ 1266}#
+                   (lambda (#{src\ 1300}#
+                            #{e\ 1301}#
+                            #{r\ 1302}#
+                            #{maps\ 1303}#
+                            #{ellipsis?\ 1304}#
+                            #{mod\ 1305}#)
+                     (if (#{id?\ 131}# #{e\ 1301}#)
+                       (let ((#{label\ 1306}#
                                (#{id-var-name\ 153}#
-                                 #{e\ 1240}#
+                                 #{e\ 1301}#
                                  '(()))))
-                         (let ((#{b\ 1246}#
+                         (let ((#{b\ 1307}#
                                  (#{lookup\ 128}#
-                                   #{label\ 1245}#
-                                   #{r\ 1241}#
-                                   #{mod\ 1244}#)))
-                           (if (eq? (#{binding-type\ 123}# #{b\ 1246}#)
+                                   #{label\ 1306}#
+                                   #{r\ 1302}#
+                                   #{mod\ 1305}#)))
+                           (if (eq? (#{binding-type\ 123}# #{b\ 1307}#)
                                     'syntax)
                              (call-with-values
                                (lambda ()
-                                 (let ((#{var.lev\ 1247}#
-                                         (#{binding-value\ 124}# #{b\ 1246}#)))
-                                   (#{gen-ref\ 1206}#
-                                     #{src\ 1239}#
-                                     (car #{var.lev\ 1247}#)
-                                     (cdr #{var.lev\ 1247}#)
-                                     #{maps\ 1242}#)))
-                               (lambda (#{var\ 1248}# #{maps\ 1249}#)
+                                 (let ((#{var.lev\ 1308}#
+                                         (#{binding-value\ 124}# #{b\ 1307}#)))
+                                   (#{gen-ref\ 1267}#
+                                     #{src\ 1300}#
+                                     (car #{var.lev\ 1308}#)
+                                     (cdr #{var.lev\ 1308}#)
+                                     #{maps\ 1303}#)))
+                               (lambda (#{var\ 1309}# #{maps\ 1310}#)
                                  (values
-                                   (list (quote ref) #{var\ 1248}#)
-                                   #{maps\ 1249}#)))
-                             (if (#{ellipsis?\ 1243}# #{e\ 1240}#)
+                                   (list (quote ref) #{var\ 1309}#)
+                                   #{maps\ 1310}#)))
+                             (if (#{ellipsis?\ 1304}# #{e\ 1301}#)
                                (syntax-violation
                                  'syntax
                                  "misplaced ellipsis"
-                                 #{src\ 1239}#)
+                                 #{src\ 1300}#)
                                (values
-                                 (list (quote quote) #{e\ 1240}#)
-                                 #{maps\ 1242}#)))))
-                       ((lambda (#{tmp\ 1250}#)
-                          ((lambda (#{tmp\ 1251}#)
-                             (if (if #{tmp\ 1251}#
-                                   (apply (lambda (#{dots\ 1252}# #{e\ 1253}#)
-                                            (#{ellipsis?\ 1243}#
-                                              #{dots\ 1252}#))
-                                          #{tmp\ 1251}#)
+                                 (list (quote quote) #{e\ 1301}#)
+                                 #{maps\ 1303}#)))))
+                       ((lambda (#{tmp\ 1311}#)
+                          ((lambda (#{tmp\ 1312}#)
+                             (if (if #{tmp\ 1312}#
+                                   (apply (lambda (#{dots\ 1313}# #{e\ 1314}#)
+                                            (#{ellipsis?\ 1304}#
+                                              #{dots\ 1313}#))
+                                          #{tmp\ 1312}#)
                                    #f)
-                               (apply (lambda (#{dots\ 1254}# #{e\ 1255}#)
-                                        (#{gen-syntax\ 1205}#
-                                          #{src\ 1239}#
-                                          #{e\ 1255}#
-                                          #{r\ 1241}#
-                                          #{maps\ 1242}#
-                                          (lambda (#{x\ 1256}#) #f)
-                                          #{mod\ 1244}#))
-                                      #{tmp\ 1251}#)
-                               ((lambda (#{tmp\ 1257}#)
-                                  (if (if #{tmp\ 1257}#
-                                        (apply (lambda (#{x\ 1258}#
-                                                        #{dots\ 1259}#
-                                                        #{y\ 1260}#)
-                                                 (#{ellipsis?\ 1243}#
-                                                   #{dots\ 1259}#))
-                                               #{tmp\ 1257}#)
+                               (apply (lambda (#{dots\ 1315}# #{e\ 1316}#)
+                                        (#{gen-syntax\ 1266}#
+                                          #{src\ 1300}#
+                                          #{e\ 1316}#
+                                          #{r\ 1302}#
+                                          #{maps\ 1303}#
+                                          (lambda (#{x\ 1317}#) #f)
+                                          #{mod\ 1305}#))
+                                      #{tmp\ 1312}#)
+                               ((lambda (#{tmp\ 1318}#)
+                                  (if (if #{tmp\ 1318}#
+                                        (apply (lambda (#{x\ 1319}#
+                                                        #{dots\ 1320}#
+                                                        #{y\ 1321}#)
+                                                 (#{ellipsis?\ 1304}#
+                                                   #{dots\ 1320}#))
+                                               #{tmp\ 1318}#)
                                         #f)
-                                    (apply (lambda (#{x\ 1261}#
-                                                    #{dots\ 1262}#
-                                                    #{y\ 1263}#)
-                                             (letrec ((#{f\ 1264}#
-                                                        (lambda (#{y\ 1265}#
-                                                                 #{k\ 1266}#)
-                                                          ((lambda (#{tmp\ 
1270}#)
-                                                             ((lambda (#{tmp\ 
1271}#)
-                                                                (if (if #{tmp\ 
1271}#
-                                                                      (apply 
(lambda (#{dots\ 1272}#
-                                                                               
       #{y\ 1273}#)
-                                                                               
(#{ellipsis?\ 1243}#
-                                                                               
  #{dots\ 1272}#))
-                                                                             
#{tmp\ 1271}#)
+                                    (apply (lambda (#{x\ 1322}#
+                                                    #{dots\ 1323}#
+                                                    #{y\ 1324}#)
+                                             (letrec ((#{f\ 1325}#
+                                                        (lambda (#{y\ 1326}#
+                                                                 #{k\ 1327}#)
+                                                          ((lambda (#{tmp\ 
1331}#)
+                                                             ((lambda (#{tmp\ 
1332}#)
+                                                                (if (if #{tmp\ 
1332}#
+                                                                      (apply 
(lambda (#{dots\ 1333}#
+                                                                               
       #{y\ 1334}#)
+                                                                               
(#{ellipsis?\ 1304}#
+                                                                               
  #{dots\ 1333}#))
+                                                                             
#{tmp\ 1332}#)
                                                                       #f)
-                                                                  (apply 
(lambda (#{dots\ 1274}#
-                                                                               
   #{y\ 1275}#)
-                                                                           
(#{f\ 1264}#
-                                                                             
#{y\ 1275}#
-                                                                             
(lambda (#{maps\ 1276}#)
+                                                                  (apply 
(lambda (#{dots\ 1335}#
+                                                                               
   #{y\ 1336}#)
+                                                                           
(#{f\ 1325}#
+                                                                             
#{y\ 1336}#
+                                                                             
(lambda (#{maps\ 1337}#)
                                                                                
(call-with-values
                                                                                
  (lambda ()
-                                                                               
    (#{k\ 1266}#
+                                                                               
    (#{k\ 1327}#
                                                                                
      (cons '()
-                                                                               
            #{maps\ 1276}#)))
-                                                                               
  (lambda (#{x\ 1277}#
-                                                                               
           #{maps\ 1278}#)
-                                                                               
    (if (null? (car #{maps\ 1278}#))
+                                                                               
            #{maps\ 1337}#)))
+                                                                               
  (lambda (#{x\ 1338}#
+                                                                               
           #{maps\ 1339}#)
+                                                                               
    (if (null? (car #{maps\ 1339}#))
                                                                                
      (syntax-violation
                                                                                
        'syntax
                                                                                
        "extra ellipsis"
-                                                                               
        #{src\ 1239}#)
+                                                                               
        #{src\ 1300}#)
                                                                                
      (values
-                                                                               
        (#{gen-mappend\ 1207}#
-                                                                               
          #{x\ 1277}#
-                                                                               
          (car #{maps\ 1278}#))
-                                                                               
        (cdr #{maps\ 1278}#))))))))
-                                                                         
#{tmp\ 1271}#)
-                                                                  ((lambda 
(#{_\ 1279}#)
+                                                                               
        (#{gen-mappend\ 1268}#
+                                                                               
          #{x\ 1338}#
+                                                                               
          (car #{maps\ 1339}#))
+                                                                               
        (cdr #{maps\ 1339}#))))))))
+                                                                         
#{tmp\ 1332}#)
+                                                                  ((lambda 
(#{_\ 1340}#)
                                                                      
(call-with-values
                                                                        (lambda 
()
-                                                                         
(#{gen-syntax\ 1205}#
-                                                                           
#{src\ 1239}#
-                                                                           
#{y\ 1265}#
-                                                                           
#{r\ 1241}#
-                                                                           
#{maps\ 1242}#
-                                                                           
#{ellipsis?\ 1243}#
-                                                                           
#{mod\ 1244}#))
-                                                                       (lambda 
(#{y\ 1280}#
-                                                                               
 #{maps\ 1281}#)
+                                                                         
(#{gen-syntax\ 1266}#
+                                                                           
#{src\ 1300}#
+                                                                           
#{y\ 1326}#
+                                                                           
#{r\ 1302}#
+                                                                           
#{maps\ 1303}#
+                                                                           
#{ellipsis?\ 1304}#
+                                                                           
#{mod\ 1305}#))
+                                                                       (lambda 
(#{y\ 1341}#
+                                                                               
 #{maps\ 1342}#)
                                                                          
(call-with-values
                                                                            
(lambda ()
-                                                                             
(#{k\ 1266}#
-                                                                               
#{maps\ 1281}#))
-                                                                           
(lambda (#{x\ 1282}#
-                                                                               
     #{maps\ 1283}#)
+                                                                             
(#{k\ 1327}#
+                                                                               
#{maps\ 1342}#))
+                                                                           
(lambda (#{x\ 1343}#
+                                                                               
     #{maps\ 1344}#)
                                                                              
(values
-                                                                               
(#{gen-append\ 1210}#
-                                                                               
  #{x\ 1282}#
-                                                                               
  #{y\ 1280}#)
-                                                                               
#{maps\ 1283}#))))))
-                                                                   #{tmp\ 
1270}#)))
+                                                                               
(#{gen-append\ 1271}#
+                                                                               
  #{x\ 1343}#
+                                                                               
  #{y\ 1341}#)
+                                                                               
#{maps\ 1344}#))))))
+                                                                   #{tmp\ 
1331}#)))
                                                               ($sc-dispatch
-                                                                #{tmp\ 1270}#
+                                                                #{tmp\ 1331}#
                                                                 '(any . any))))
-                                                           #{y\ 1265}#))))
-                                               (#{f\ 1264}#
-                                                 #{y\ 1263}#
-                                                 (lambda (#{maps\ 1267}#)
+                                                           #{y\ 1326}#))))
+                                               (#{f\ 1325}#
+                                                 #{y\ 1324}#
+                                                 (lambda (#{maps\ 1328}#)
                                                    (call-with-values
                                                      (lambda ()
-                                                       (#{gen-syntax\ 1205}#
-                                                         #{src\ 1239}#
-                                                         #{x\ 1261}#
-                                                         #{r\ 1241}#
+                                                       (#{gen-syntax\ 1266}#
+                                                         #{src\ 1300}#
+                                                         #{x\ 1322}#
+                                                         #{r\ 1302}#
                                                          (cons '()
-                                                               #{maps\ 1267}#)
-                                                         #{ellipsis?\ 1243}#
-                                                         #{mod\ 1244}#))
-                                                     (lambda (#{x\ 1268}#
-                                                              #{maps\ 1269}#)
-                                                       (if (null? (car #{maps\ 
1269}#))
+                                                               #{maps\ 1328}#)
+                                                         #{ellipsis?\ 1304}#
+                                                         #{mod\ 1305}#))
+                                                     (lambda (#{x\ 1329}#
+                                                              #{maps\ 1330}#)
+                                                       (if (null? (car #{maps\ 
1330}#))
                                                          (syntax-violation
                                                            'syntax
                                                            "extra ellipsis"
-                                                           #{src\ 1239}#)
+                                                           #{src\ 1300}#)
                                                          (values
-                                                           (#{gen-map\ 1208}#
-                                                             #{x\ 1268}#
-                                                             (car #{maps\ 
1269}#))
-                                                           (cdr #{maps\ 
1269}#)))))))))
-                                           #{tmp\ 1257}#)
-                                    ((lambda (#{tmp\ 1284}#)
-                                       (if #{tmp\ 1284}#
-                                         (apply (lambda (#{x\ 1285}#
-                                                         #{y\ 1286}#)
+                                                           (#{gen-map\ 1269}#
+                                                             #{x\ 1329}#
+                                                             (car #{maps\ 
1330}#))
+                                                           (cdr #{maps\ 
1330}#)))))))))
+                                           #{tmp\ 1318}#)
+                                    ((lambda (#{tmp\ 1345}#)
+                                       (if #{tmp\ 1345}#
+                                         (apply (lambda (#{x\ 1346}#
+                                                         #{y\ 1347}#)
                                                   (call-with-values
                                                     (lambda ()
-                                                      (#{gen-syntax\ 1205}#
-                                                        #{src\ 1239}#
-                                                        #{x\ 1285}#
-                                                        #{r\ 1241}#
-                                                        #{maps\ 1242}#
-                                                        #{ellipsis?\ 1243}#
-                                                        #{mod\ 1244}#))
-                                                    (lambda (#{x\ 1287}#
-                                                             #{maps\ 1288}#)
+                                                      (#{gen-syntax\ 1266}#
+                                                        #{src\ 1300}#
+                                                        #{x\ 1346}#
+                                                        #{r\ 1302}#
+                                                        #{maps\ 1303}#
+                                                        #{ellipsis?\ 1304}#
+                                                        #{mod\ 1305}#))
+                                                    (lambda (#{x\ 1348}#
+                                                             #{maps\ 1349}#)
                                                       (call-with-values
                                                         (lambda ()
-                                                          (#{gen-syntax\ 1205}#
-                                                            #{src\ 1239}#
-                                                            #{y\ 1286}#
-                                                            #{r\ 1241}#
-                                                            #{maps\ 1288}#
-                                                            #{ellipsis?\ 1243}#
-                                                            #{mod\ 1244}#))
-                                                        (lambda (#{y\ 1289}#
-                                                                 #{maps\ 
1290}#)
+                                                          (#{gen-syntax\ 1266}#
+                                                            #{src\ 1300}#
+                                                            #{y\ 1347}#
+                                                            #{r\ 1302}#
+                                                            #{maps\ 1349}#
+                                                            #{ellipsis?\ 1304}#
+                                                            #{mod\ 1305}#))
+                                                        (lambda (#{y\ 1350}#
+                                                                 #{maps\ 
1351}#)
                                                           (values
-                                                            (#{gen-cons\ 1209}#
-                                                              #{x\ 1287}#
-                                                              #{y\ 1289}#)
-                                                            #{maps\ 
1290}#))))))
-                                                #{tmp\ 1284}#)
-                                         ((lambda (#{tmp\ 1291}#)
-                                            (if #{tmp\ 1291}#
-                                              (apply (lambda (#{e1\ 1292}#
-                                                              #{e2\ 1293}#)
+                                                            (#{gen-cons\ 1270}#
+                                                              #{x\ 1348}#
+                                                              #{y\ 1350}#)
+                                                            #{maps\ 
1351}#))))))
+                                                #{tmp\ 1345}#)
+                                         ((lambda (#{tmp\ 1352}#)
+                                            (if #{tmp\ 1352}#
+                                              (apply (lambda (#{e1\ 1353}#
+                                                              #{e2\ 1354}#)
                                                        (call-with-values
                                                          (lambda ()
-                                                           (#{gen-syntax\ 
1205}#
-                                                             #{src\ 1239}#
-                                                             (cons #{e1\ 1292}#
-                                                                   #{e2\ 
1293}#)
-                                                             #{r\ 1241}#
-                                                             #{maps\ 1242}#
-                                                             #{ellipsis?\ 
1243}#
-                                                             #{mod\ 1244}#))
-                                                         (lambda (#{e\ 1295}#
-                                                                  #{maps\ 
1296}#)
+                                                           (#{gen-syntax\ 
1266}#
+                                                             #{src\ 1300}#
+                                                             (cons #{e1\ 1353}#
+                                                                   #{e2\ 
1354}#)
+                                                             #{r\ 1302}#
+                                                             #{maps\ 1303}#
+                                                             #{ellipsis?\ 
1304}#
+                                                             #{mod\ 1305}#))
+                                                         (lambda (#{e\ 1356}#
+                                                                  #{maps\ 
1357}#)
                                                            (values
-                                                             (#{gen-vector\ 
1211}#
-                                                               #{e\ 1295}#)
-                                                             #{maps\ 1296}#))))
-                                                     #{tmp\ 1291}#)
-                                              ((lambda (#{_\ 1297}#)
+                                                             (#{gen-vector\ 
1272}#
+                                                               #{e\ 1356}#)
+                                                             #{maps\ 1357}#))))
+                                                     #{tmp\ 1352}#)
+                                              ((lambda (#{_\ 1358}#)
                                                  (values
                                                    (list 'quote
-                                                         #{e\ 1240}#)
-                                                   #{maps\ 1242}#))
-                                               #{tmp\ 1250}#)))
+                                                         #{e\ 1301}#)
+                                                   #{maps\ 1303}#))
+                                               #{tmp\ 1311}#)))
                                           ($sc-dispatch
-                                            #{tmp\ 1250}#
+                                            #{tmp\ 1311}#
                                             '#(vector (any . each-any))))))
                                      ($sc-dispatch
-                                       #{tmp\ 1250}#
+                                       #{tmp\ 1311}#
                                        '(any . any)))))
                                 ($sc-dispatch
-                                  #{tmp\ 1250}#
+                                  #{tmp\ 1311}#
                                   '(any any . any)))))
-                           ($sc-dispatch #{tmp\ 1250}# (quote (any any)))))
-                        #{e\ 1240}#)))))
-          (lambda (#{e\ 1298}#
-                   #{r\ 1299}#
-                   #{w\ 1300}#
-                   #{s\ 1301}#
-                   #{mod\ 1302}#)
-            (let ((#{e\ 1303}#
+                           ($sc-dispatch #{tmp\ 1311}# (quote (any any)))))
+                        #{e\ 1301}#)))))
+          (lambda (#{e\ 1359}#
+                   #{r\ 1360}#
+                   #{w\ 1361}#
+                   #{s\ 1362}#
+                   #{mod\ 1363}#)
+            (let ((#{e\ 1364}#
                     (#{source-wrap\ 160}#
-                      #{e\ 1298}#
-                      #{w\ 1300}#
-                      #{s\ 1301}#
-                      #{mod\ 1302}#)))
-              ((lambda (#{tmp\ 1304}#)
-                 ((lambda (#{tmp\ 1305}#)
-                    (if #{tmp\ 1305}#
-                      (apply (lambda (#{_\ 1306}# #{x\ 1307}#)
+                      #{e\ 1359}#
+                      #{w\ 1361}#
+                      #{s\ 1362}#
+                      #{mod\ 1363}#)))
+              ((lambda (#{tmp\ 1365}#)
+                 ((lambda (#{tmp\ 1366}#)
+                    (if #{tmp\ 1366}#
+                      (apply (lambda (#{_\ 1367}# #{x\ 1368}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{gen-syntax\ 1205}#
-                                     #{e\ 1303}#
-                                     #{x\ 1307}#
-                                     #{r\ 1299}#
+                                   (#{gen-syntax\ 1266}#
+                                     #{e\ 1364}#
+                                     #{x\ 1368}#
+                                     #{r\ 1360}#
                                      '()
                                      #{ellipsis?\ 175}#
-                                     #{mod\ 1302}#))
-                                 (lambda (#{e\ 1308}# #{maps\ 1309}#)
-                                   (#{regen\ 1212}# #{e\ 1308}#))))
-                             #{tmp\ 1305}#)
-                      ((lambda (#{_\ 1310}#)
+                                     #{mod\ 1363}#))
+                                 (lambda (#{e\ 1369}# #{maps\ 1370}#)
+                                   (#{regen\ 1273}# #{e\ 1369}#))))
+                             #{tmp\ 1366}#)
+                      ((lambda (#{_\ 1371}#)
                          (syntax-violation
                            'syntax
                            "bad `syntax' form"
-                           #{e\ 1303}#))
-                       #{tmp\ 1304}#)))
-                  ($sc-dispatch #{tmp\ 1304}# (quote (any any)))))
-               #{e\ 1303}#)))))
+                           #{e\ 1364}#))
+                       #{tmp\ 1365}#)))
+                  ($sc-dispatch #{tmp\ 1365}# (quote (any any)))))
+               #{e\ 1364}#)))))
       (#{global-extend\ 129}#
         'core
         'lambda
-        (lambda (#{e\ 1311}#
-                 #{r\ 1312}#
-                 #{w\ 1313}#
-                 #{s\ 1314}#
-                 #{mod\ 1315}#)
-          ((lambda (#{tmp\ 1316}#)
-             ((lambda (#{tmp\ 1317}#)
-                (if (if #{tmp\ 1317}#
-                      (apply (lambda (#{_\ 1318}#
-                                      #{args\ 1319}#
-                                      #{docstring\ 1320}#
-                                      #{e1\ 1321}#
-                                      #{e2\ 1322}#)
-                               (string? (syntax->datum #{docstring\ 1320}#)))
-                             #{tmp\ 1317}#)
+        (lambda (#{e\ 1372}#
+                 #{r\ 1373}#
+                 #{w\ 1374}#
+                 #{s\ 1375}#
+                 #{mod\ 1376}#)
+          ((lambda (#{tmp\ 1377}#)
+             ((lambda (#{tmp\ 1378}#)
+                (if (if #{tmp\ 1378}#
+                      (apply (lambda (#{_\ 1379}#
+                                      #{args\ 1380}#
+                                      #{docstring\ 1381}#
+                                      #{e1\ 1382}#
+                                      #{e2\ 1383}#)
+                               (string? (syntax->datum #{docstring\ 1381}#)))
+                             #{tmp\ 1378}#)
                       #f)
-                  (apply (lambda (#{_\ 1323}#
-                                  #{args\ 1324}#
-                                  #{docstring\ 1325}#
-                                  #{e1\ 1326}#
-                                  #{e2\ 1327}#)
+                  (apply (lambda (#{_\ 1384}#
+                                  #{args\ 1385}#
+                                  #{docstring\ 1386}#
+                                  #{e1\ 1387}#
+                                  #{e2\ 1388}#)
                            (call-with-values
                              (lambda ()
-                               (#{lambda-formals\ 176}# #{args\ 1324}#))
-                             (lambda (#{req\ 1328}#
-                                      #{opt\ 1329}#
-                                      #{rest\ 1330}#
-                                      #{kw\ 1331}#)
+                               (#{lambda-formals\ 176}# #{args\ 1385}#))
+                             (lambda (#{req\ 1389}#
+                                      #{opt\ 1390}#
+                                      #{rest\ 1391}#
+                                      #{kw\ 1392}#
+                                      #{pred\ 1393}#)
                                (#{chi-simple-lambda\ 177}#
-                                 #{e\ 1311}#
-                                 #{r\ 1312}#
-                                 #{w\ 1313}#
-                                 #{s\ 1314}#
-                                 #{mod\ 1315}#
-                                 #{req\ 1328}#
-                                 #{rest\ 1330}#
-                                 (syntax->datum #{docstring\ 1325}#)
-                                 (cons #{e1\ 1326}# #{e2\ 1327}#)))))
-                         #{tmp\ 1317}#)
-                  ((lambda (#{tmp\ 1333}#)
-                     (if #{tmp\ 1333}#
-                       (apply (lambda (#{_\ 1334}#
-                                       #{args\ 1335}#
-                                       #{e1\ 1336}#
-                                       #{e2\ 1337}#)
+                                 #{e\ 1372}#
+                                 #{r\ 1373}#
+                                 #{w\ 1374}#
+                                 #{s\ 1375}#
+                                 #{mod\ 1376}#
+                                 #{req\ 1389}#
+                                 #{rest\ 1391}#
+                                 (syntax->datum #{docstring\ 1386}#)
+                                 (cons #{e1\ 1387}# #{e2\ 1388}#)))))
+                         #{tmp\ 1378}#)
+                  ((lambda (#{tmp\ 1395}#)
+                     (if #{tmp\ 1395}#
+                       (apply (lambda (#{_\ 1396}#
+                                       #{args\ 1397}#
+                                       #{e1\ 1398}#
+                                       #{e2\ 1399}#)
                                 (call-with-values
                                   (lambda ()
-                                    (#{lambda-formals\ 176}# #{args\ 1335}#))
-                                  (lambda (#{req\ 1338}#
-                                           #{opt\ 1339}#
-                                           #{rest\ 1340}#
-                                           #{kw\ 1341}#)
+                                    (#{lambda-formals\ 176}# #{args\ 1397}#))
+                                  (lambda (#{req\ 1400}#
+                                           #{opt\ 1401}#
+                                           #{rest\ 1402}#
+                                           #{kw\ 1403}#
+                                           #{pred\ 1404}#)
                                     (#{chi-simple-lambda\ 177}#
-                                      #{e\ 1311}#
-                                      #{r\ 1312}#
-                                      #{w\ 1313}#
-                                      #{s\ 1314}#
-                                      #{mod\ 1315}#
-                                      #{req\ 1338}#
-                                      #{rest\ 1340}#
+                                      #{e\ 1372}#
+                                      #{r\ 1373}#
+                                      #{w\ 1374}#
+                                      #{s\ 1375}#
+                                      #{mod\ 1376}#
+                                      #{req\ 1400}#
+                                      #{rest\ 1402}#
                                       #f
-                                      (cons #{e1\ 1336}# #{e2\ 1337}#)))))
-                              #{tmp\ 1333}#)
-                       ((lambda (#{_\ 1343}#)
+                                      (cons #{e1\ 1398}# #{e2\ 1399}#)))))
+                              #{tmp\ 1395}#)
+                       ((lambda (#{_\ 1406}#)
                           (syntax-violation
                             'lambda
                             "bad lambda"
-                            #{e\ 1311}#))
-                        #{tmp\ 1316}#)))
+                            #{e\ 1372}#))
+                        #{tmp\ 1377}#)))
                    ($sc-dispatch
-                     #{tmp\ 1316}#
+                     #{tmp\ 1377}#
                      '(any any any . each-any)))))
               ($sc-dispatch
-                #{tmp\ 1316}#
+                #{tmp\ 1377}#
                 '(any any any any . each-any))))
-           #{e\ 1311}#)))
+           #{e\ 1372}#)))
       (#{global-extend\ 129}#
         'core
         'lambda*
-        (lambda (#{e\ 1344}#
-                 #{r\ 1345}#
-                 #{w\ 1346}#
-                 #{s\ 1347}#
-                 #{mod\ 1348}#)
-          ((lambda (#{tmp\ 1349}#)
-             ((lambda (#{tmp\ 1350}#)
-                (if #{tmp\ 1350}#
-                  (apply (lambda (#{_\ 1351}#
-                                  #{args\ 1352}#
-                                  #{e1\ 1353}#
-                                  #{e2\ 1354}#)
+        (lambda (#{e\ 1407}#
+                 #{r\ 1408}#
+                 #{w\ 1409}#
+                 #{s\ 1410}#
+                 #{mod\ 1411}#)
+          ((lambda (#{tmp\ 1412}#)
+             ((lambda (#{tmp\ 1413}#)
+                (if #{tmp\ 1413}#
+                  (apply (lambda (#{_\ 1414}#
+                                  #{args\ 1415}#
+                                  #{e1\ 1416}#
+                                  #{e2\ 1417}#)
                            (call-with-values
                              (lambda ()
                                (#{chi-lambda-case\ 179}#
-                                 #{e\ 1344}#
-                                 #{r\ 1345}#
-                                 #{w\ 1346}#
-                                 #{s\ 1347}#
-                                 #{mod\ 1348}#
+                                 #{e\ 1407}#
+                                 #{r\ 1408}#
+                                 #{w\ 1409}#
+                                 #{s\ 1410}#
+                                 #{mod\ 1411}#
                                  #{lambda*-formals\ 178}#
-                                 (list (cons #{args\ 1352}#
-                                             (cons #{e1\ 1353}#
-                                                   #{e2\ 1354}#)))))
-                             (lambda (#{docstring\ 1356}# #{lcase\ 1357}#)
+                                 (list (cons #{args\ 1415}#
+                                             (cons #{e1\ 1416}#
+                                                   #{e2\ 1417}#)))))
+                             (lambda (#{docstring\ 1419}# #{lcase\ 1420}#)
                                (#{build-case-lambda\ 106}#
-                                 #{s\ 1347}#
-                                 #{docstring\ 1356}#
-                                 #{lcase\ 1357}#))))
-                         #{tmp\ 1350}#)
-                  ((lambda (#{_\ 1358}#)
+                                 #{s\ 1410}#
+                                 #{docstring\ 1419}#
+                                 #{lcase\ 1420}#))))
+                         #{tmp\ 1413}#)
+                  ((lambda (#{_\ 1421}#)
                      (syntax-violation
                        'lambda
                        "bad lambda*"
-                       #{e\ 1344}#))
-                   #{tmp\ 1349}#)))
+                       #{e\ 1407}#))
+                   #{tmp\ 1412}#)))
               ($sc-dispatch
-                #{tmp\ 1349}#
+                #{tmp\ 1412}#
                 '(any any any . each-any))))
-           #{e\ 1344}#)))
+           #{e\ 1407}#)))
       (#{global-extend\ 129}#
         'core
         'case-lambda
-        (lambda (#{e\ 1359}#
-                 #{r\ 1360}#
-                 #{w\ 1361}#
-                 #{s\ 1362}#
-                 #{mod\ 1363}#)
-          ((lambda (#{tmp\ 1364}#)
-             ((lambda (#{tmp\ 1365}#)
-                (if #{tmp\ 1365}#
-                  (apply (lambda (#{_\ 1366}#
-                                  #{args\ 1367}#
-                                  #{e1\ 1368}#
-                                  #{e2\ 1369}#
-                                  #{args*\ 1370}#
-                                  #{e1*\ 1371}#
-                                  #{e2*\ 1372}#)
+        (lambda (#{e\ 1422}#
+                 #{r\ 1423}#
+                 #{w\ 1424}#
+                 #{s\ 1425}#
+                 #{mod\ 1426}#)
+          ((lambda (#{tmp\ 1427}#)
+             ((lambda (#{tmp\ 1428}#)
+                (if #{tmp\ 1428}#
+                  (apply (lambda (#{_\ 1429}#
+                                  #{args\ 1430}#
+                                  #{e1\ 1431}#
+                                  #{e2\ 1432}#
+                                  #{args*\ 1433}#
+                                  #{e1*\ 1434}#
+                                  #{e2*\ 1435}#)
                            (call-with-values
                              (lambda ()
                                (#{chi-lambda-case\ 179}#
-                                 #{e\ 1359}#
-                                 #{r\ 1360}#
-                                 #{w\ 1361}#
-                                 #{s\ 1362}#
-                                 #{mod\ 1363}#
+                                 #{e\ 1422}#
+                                 #{r\ 1423}#
+                                 #{w\ 1424}#
+                                 #{s\ 1425}#
+                                 #{mod\ 1426}#
                                  #{lambda-formals\ 176}#
-                                 (cons (cons #{args\ 1367}#
-                                             (cons #{e1\ 1368}# #{e2\ 1369}#))
-                                       (map (lambda (#{tmp\ 1376}#
-                                                     #{tmp\ 1375}#
-                                                     #{tmp\ 1374}#)
-                                              (cons #{tmp\ 1374}#
-                                                    (cons #{tmp\ 1375}#
-                                                          #{tmp\ 1376}#)))
-                                            #{e2*\ 1372}#
-                                            #{e1*\ 1371}#
-                                            #{args*\ 1370}#))))
-                             (lambda (#{docstring\ 1378}# #{lcase\ 1379}#)
+                                 (cons (cons #{args\ 1430}#
+                                             (cons #{e1\ 1431}# #{e2\ 1432}#))
+                                       (map (lambda (#{tmp\ 1439}#
+                                                     #{tmp\ 1438}#
+                                                     #{tmp\ 1437}#)
+                                              (cons #{tmp\ 1437}#
+                                                    (cons #{tmp\ 1438}#
+                                                          #{tmp\ 1439}#)))
+                                            #{e2*\ 1435}#
+                                            #{e1*\ 1434}#
+                                            #{args*\ 1433}#))))
+                             (lambda (#{docstring\ 1441}# #{lcase\ 1442}#)
                                (#{build-case-lambda\ 106}#
-                                 #{s\ 1362}#
-                                 #{docstring\ 1378}#
-                                 #{lcase\ 1379}#))))
-                         #{tmp\ 1365}#)
-                  ((lambda (#{_\ 1380}#)
+                                 #{s\ 1425}#
+                                 #{docstring\ 1441}#
+                                 #{lcase\ 1442}#))))
+                         #{tmp\ 1428}#)
+                  ((lambda (#{_\ 1443}#)
                      (syntax-violation
                        'case-lambda
                        "bad case-lambda"
-                       #{e\ 1359}#))
-                   #{tmp\ 1364}#)))
+                       #{e\ 1422}#))
+                   #{tmp\ 1427}#)))
               ($sc-dispatch
-                #{tmp\ 1364}#
+                #{tmp\ 1427}#
                 '(any (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-           #{e\ 1359}#)))
+           #{e\ 1422}#)))
       (#{global-extend\ 129}#
         'core
         'case-lambda*
-        (lambda (#{e\ 1381}#
-                 #{r\ 1382}#
-                 #{w\ 1383}#
-                 #{s\ 1384}#
-                 #{mod\ 1385}#)
-          ((lambda (#{tmp\ 1386}#)
-             ((lambda (#{tmp\ 1387}#)
-                (if #{tmp\ 1387}#
-                  (apply (lambda (#{_\ 1388}#
-                                  #{args\ 1389}#
-                                  #{e1\ 1390}#
-                                  #{e2\ 1391}#
-                                  #{args*\ 1392}#
-                                  #{e1*\ 1393}#
-                                  #{e2*\ 1394}#)
+        (lambda (#{e\ 1444}#
+                 #{r\ 1445}#
+                 #{w\ 1446}#
+                 #{s\ 1447}#
+                 #{mod\ 1448}#)
+          ((lambda (#{tmp\ 1449}#)
+             ((lambda (#{tmp\ 1450}#)
+                (if #{tmp\ 1450}#
+                  (apply (lambda (#{_\ 1451}#
+                                  #{args\ 1452}#
+                                  #{e1\ 1453}#
+                                  #{e2\ 1454}#
+                                  #{args*\ 1455}#
+                                  #{e1*\ 1456}#
+                                  #{e2*\ 1457}#)
                            (call-with-values
                              (lambda ()
                                (#{chi-lambda-case\ 179}#
-                                 #{e\ 1381}#
-                                 #{r\ 1382}#
-                                 #{w\ 1383}#
-                                 #{s\ 1384}#
-                                 #{mod\ 1385}#
+                                 #{e\ 1444}#
+                                 #{r\ 1445}#
+                                 #{w\ 1446}#
+                                 #{s\ 1447}#
+                                 #{mod\ 1448}#
                                  #{lambda*-formals\ 178}#
-                                 (cons (cons #{args\ 1389}#
-                                             (cons #{e1\ 1390}# #{e2\ 1391}#))
-                                       (map (lambda (#{tmp\ 1398}#
-                                                     #{tmp\ 1397}#
-                                                     #{tmp\ 1396}#)
-                                              (cons #{tmp\ 1396}#
-                                                    (cons #{tmp\ 1397}#
-                                                          #{tmp\ 1398}#)))
-                                            #{e2*\ 1394}#
-                                            #{e1*\ 1393}#
-                                            #{args*\ 1392}#))))
-                             (lambda (#{docstring\ 1400}# #{lcase\ 1401}#)
+                                 (cons (cons #{args\ 1452}#
+                                             (cons #{e1\ 1453}# #{e2\ 1454}#))
+                                       (map (lambda (#{tmp\ 1461}#
+                                                     #{tmp\ 1460}#
+                                                     #{tmp\ 1459}#)
+                                              (cons #{tmp\ 1459}#
+                                                    (cons #{tmp\ 1460}#
+                                                          #{tmp\ 1461}#)))
+                                            #{e2*\ 1457}#
+                                            #{e1*\ 1456}#
+                                            #{args*\ 1455}#))))
+                             (lambda (#{docstring\ 1463}# #{lcase\ 1464}#)
                                (#{build-case-lambda\ 106}#
-                                 #{s\ 1384}#
-                                 #{docstring\ 1400}#
-                                 #{lcase\ 1401}#))))
-                         #{tmp\ 1387}#)
-                  ((lambda (#{_\ 1402}#)
+                                 #{s\ 1447}#
+                                 #{docstring\ 1463}#
+                                 #{lcase\ 1464}#))))
+                         #{tmp\ 1450}#)
+                  ((lambda (#{_\ 1465}#)
                      (syntax-violation
                        'case-lambda
                        "bad case-lambda*"
-                       #{e\ 1381}#))
-                   #{tmp\ 1386}#)))
+                       #{e\ 1444}#))
+                   #{tmp\ 1449}#)))
               ($sc-dispatch
-                #{tmp\ 1386}#
+                #{tmp\ 1449}#
                 '(any (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-           #{e\ 1381}#)))
+           #{e\ 1444}#)))
       (#{global-extend\ 129}#
         'core
         'let
-        (letrec ((#{chi-let\ 1403}#
-                   (lambda (#{e\ 1404}#
-                            #{r\ 1405}#
-                            #{w\ 1406}#
-                            #{s\ 1407}#
-                            #{mod\ 1408}#
-                            #{constructor\ 1409}#
-                            #{ids\ 1410}#
-                            #{vals\ 1411}#
-                            #{exps\ 1412}#)
-                     (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1410}#))
+        (letrec ((#{chi-let\ 1466}#
+                   (lambda (#{e\ 1467}#
+                            #{r\ 1468}#
+                            #{w\ 1469}#
+                            #{s\ 1470}#
+                            #{mod\ 1471}#
+                            #{constructor\ 1472}#
+                            #{ids\ 1473}#
+                            #{vals\ 1474}#
+                            #{exps\ 1475}#)
+                     (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1473}#))
                        (syntax-violation
                          'let
                          "duplicate bound variable"
-                         #{e\ 1404}#)
-                       (let ((#{labels\ 1413}#
-                               (#{gen-labels\ 137}# #{ids\ 1410}#))
-                             (#{new-vars\ 1414}#
-                               (map #{gen-var\ 181}# #{ids\ 1410}#)))
-                         (let ((#{nw\ 1415}#
+                         #{e\ 1467}#)
+                       (let ((#{labels\ 1476}#
+                               (#{gen-labels\ 137}# #{ids\ 1473}#))
+                             (#{new-vars\ 1477}#
+                               (map #{gen-var\ 181}# #{ids\ 1473}#)))
+                         (let ((#{nw\ 1478}#
                                  (#{make-binding-wrap\ 148}#
-                                   #{ids\ 1410}#
-                                   #{labels\ 1413}#
-                                   #{w\ 1406}#))
-                               (#{nr\ 1416}#
+                                   #{ids\ 1473}#
+                                   #{labels\ 1476}#
+                                   #{w\ 1469}#))
+                               (#{nr\ 1479}#
                                  (#{extend-var-env\ 126}#
-                                   #{labels\ 1413}#
-                                   #{new-vars\ 1414}#
-                                   #{r\ 1405}#)))
-                           (#{constructor\ 1409}#
-                             #{s\ 1407}#
-                             (map syntax->datum #{ids\ 1410}#)
-                             #{new-vars\ 1414}#
-                             (map (lambda (#{x\ 1417}#)
+                                   #{labels\ 1476}#
+                                   #{new-vars\ 1477}#
+                                   #{r\ 1468}#)))
+                           (#{constructor\ 1472}#
+                             #{s\ 1470}#
+                             (map syntax->datum #{ids\ 1473}#)
+                             #{new-vars\ 1477}#
+                             (map (lambda (#{x\ 1480}#)
                                     (#{chi\ 167}#
-                                      #{x\ 1417}#
-                                      #{r\ 1405}#
-                                      #{w\ 1406}#
-                                      #{mod\ 1408}#))
-                                  #{vals\ 1411}#)
+                                      #{x\ 1480}#
+                                      #{r\ 1468}#
+                                      #{w\ 1469}#
+                                      #{mod\ 1471}#))
+                                  #{vals\ 1474}#)
                              (#{chi-body\ 171}#
-                               #{exps\ 1412}#
+                               #{exps\ 1475}#
                                (#{source-wrap\ 160}#
-                                 #{e\ 1404}#
-                                 #{nw\ 1415}#
-                                 #{s\ 1407}#
-                                 #{mod\ 1408}#)
-                               #{nr\ 1416}#
-                               #{nw\ 1415}#
-                               #{mod\ 1408}#))))))))
-          (lambda (#{e\ 1418}#
-                   #{r\ 1419}#
-                   #{w\ 1420}#
-                   #{s\ 1421}#
-                   #{mod\ 1422}#)
-            ((lambda (#{tmp\ 1423}#)
-               ((lambda (#{tmp\ 1424}#)
-                  (if (if #{tmp\ 1424}#
-                        (apply (lambda (#{_\ 1425}#
-                                        #{id\ 1426}#
-                                        #{val\ 1427}#
-                                        #{e1\ 1428}#
-                                        #{e2\ 1429}#)
-                                 (and-map #{id?\ 131}# #{id\ 1426}#))
-                               #{tmp\ 1424}#)
+                                 #{e\ 1467}#
+                                 #{nw\ 1478}#
+                                 #{s\ 1470}#
+                                 #{mod\ 1471}#)
+                               #{nr\ 1479}#
+                               #{nw\ 1478}#
+                               #{mod\ 1471}#))))))))
+          (lambda (#{e\ 1481}#
+                   #{r\ 1482}#
+                   #{w\ 1483}#
+                   #{s\ 1484}#
+                   #{mod\ 1485}#)
+            ((lambda (#{tmp\ 1486}#)
+               ((lambda (#{tmp\ 1487}#)
+                  (if (if #{tmp\ 1487}#
+                        (apply (lambda (#{_\ 1488}#
+                                        #{id\ 1489}#
+                                        #{val\ 1490}#
+                                        #{e1\ 1491}#
+                                        #{e2\ 1492}#)
+                                 (and-map #{id?\ 131}# #{id\ 1489}#))
+                               #{tmp\ 1487}#)
                         #f)
-                    (apply (lambda (#{_\ 1431}#
-                                    #{id\ 1432}#
-                                    #{val\ 1433}#
-                                    #{e1\ 1434}#
-                                    #{e2\ 1435}#)
-                             (#{chi-let\ 1403}#
-                               #{e\ 1418}#
-                               #{r\ 1419}#
-                               #{w\ 1420}#
-                               #{s\ 1421}#
-                               #{mod\ 1422}#
+                    (apply (lambda (#{_\ 1494}#
+                                    #{id\ 1495}#
+                                    #{val\ 1496}#
+                                    #{e1\ 1497}#
+                                    #{e2\ 1498}#)
+                             (#{chi-let\ 1466}#
+                               #{e\ 1481}#
+                               #{r\ 1482}#
+                               #{w\ 1483}#
+                               #{s\ 1484}#
+                               #{mod\ 1485}#
                                #{build-let\ 111}#
-                               #{id\ 1432}#
-                               #{val\ 1433}#
-                               (cons #{e1\ 1434}# #{e2\ 1435}#)))
-                           #{tmp\ 1424}#)
-                    ((lambda (#{tmp\ 1439}#)
-                       (if (if #{tmp\ 1439}#
-                             (apply (lambda (#{_\ 1440}#
-                                             #{f\ 1441}#
-                                             #{id\ 1442}#
-                                             #{val\ 1443}#
-                                             #{e1\ 1444}#
-                                             #{e2\ 1445}#)
-                                      (if (#{id?\ 131}# #{f\ 1441}#)
-                                        (and-map #{id?\ 131}# #{id\ 1442}#)
+                               #{id\ 1495}#
+                               #{val\ 1496}#
+                               (cons #{e1\ 1497}# #{e2\ 1498}#)))
+                           #{tmp\ 1487}#)
+                    ((lambda (#{tmp\ 1502}#)
+                       (if (if #{tmp\ 1502}#
+                             (apply (lambda (#{_\ 1503}#
+                                             #{f\ 1504}#
+                                             #{id\ 1505}#
+                                             #{val\ 1506}#
+                                             #{e1\ 1507}#
+                                             #{e2\ 1508}#)
+                                      (if (#{id?\ 131}# #{f\ 1504}#)
+                                        (and-map #{id?\ 131}# #{id\ 1505}#)
                                         #f))
-                                    #{tmp\ 1439}#)
+                                    #{tmp\ 1502}#)
                              #f)
-                         (apply (lambda (#{_\ 1447}#
-                                         #{f\ 1448}#
-                                         #{id\ 1449}#
-                                         #{val\ 1450}#
-                                         #{e1\ 1451}#
-                                         #{e2\ 1452}#)
-                                  (#{chi-let\ 1403}#
-                                    #{e\ 1418}#
-                                    #{r\ 1419}#
-                                    #{w\ 1420}#
-                                    #{s\ 1421}#
-                                    #{mod\ 1422}#
+                         (apply (lambda (#{_\ 1510}#
+                                         #{f\ 1511}#
+                                         #{id\ 1512}#
+                                         #{val\ 1513}#
+                                         #{e1\ 1514}#
+                                         #{e2\ 1515}#)
+                                  (#{chi-let\ 1466}#
+                                    #{e\ 1481}#
+                                    #{r\ 1482}#
+                                    #{w\ 1483}#
+                                    #{s\ 1484}#
+                                    #{mod\ 1485}#
                                     #{build-named-let\ 112}#
-                                    (cons #{f\ 1448}# #{id\ 1449}#)
-                                    #{val\ 1450}#
-                                    (cons #{e1\ 1451}# #{e2\ 1452}#)))
-                                #{tmp\ 1439}#)
-                         ((lambda (#{_\ 1456}#)
+                                    (cons #{f\ 1511}# #{id\ 1512}#)
+                                    #{val\ 1513}#
+                                    (cons #{e1\ 1514}# #{e2\ 1515}#)))
+                                #{tmp\ 1502}#)
+                         ((lambda (#{_\ 1519}#)
                             (syntax-violation
                               'let
                               "bad let"
                               (#{source-wrap\ 160}#
-                                #{e\ 1418}#
-                                #{w\ 1420}#
-                                #{s\ 1421}#
-                                #{mod\ 1422}#)))
-                          #{tmp\ 1423}#)))
+                                #{e\ 1481}#
+                                #{w\ 1483}#
+                                #{s\ 1484}#
+                                #{mod\ 1485}#)))
+                          #{tmp\ 1486}#)))
                      ($sc-dispatch
-                       #{tmp\ 1423}#
+                       #{tmp\ 1486}#
                        '(any any #(each (any any)) any . each-any)))))
                 ($sc-dispatch
-                  #{tmp\ 1423}#
+                  #{tmp\ 1486}#
                   '(any #(each (any any)) any . each-any))))
-             #{e\ 1418}#))))
+             #{e\ 1481}#))))
       (#{global-extend\ 129}#
         'core
         'letrec
-        (lambda (#{e\ 1457}#
-                 #{r\ 1458}#
-                 #{w\ 1459}#
-                 #{s\ 1460}#
-                 #{mod\ 1461}#)
-          ((lambda (#{tmp\ 1462}#)
-             ((lambda (#{tmp\ 1463}#)
-                (if (if #{tmp\ 1463}#
-                      (apply (lambda (#{_\ 1464}#
-                                      #{id\ 1465}#
-                                      #{val\ 1466}#
-                                      #{e1\ 1467}#
-                                      #{e2\ 1468}#)
-                               (and-map #{id?\ 131}# #{id\ 1465}#))
-                             #{tmp\ 1463}#)
+        (lambda (#{e\ 1520}#
+                 #{r\ 1521}#
+                 #{w\ 1522}#
+                 #{s\ 1523}#
+                 #{mod\ 1524}#)
+          ((lambda (#{tmp\ 1525}#)
+             ((lambda (#{tmp\ 1526}#)
+                (if (if #{tmp\ 1526}#
+                      (apply (lambda (#{_\ 1527}#
+                                      #{id\ 1528}#
+                                      #{val\ 1529}#
+                                      #{e1\ 1530}#
+                                      #{e2\ 1531}#)
+                               (and-map #{id?\ 131}# #{id\ 1528}#))
+                             #{tmp\ 1526}#)
                       #f)
-                  (apply (lambda (#{_\ 1470}#
-                                  #{id\ 1471}#
-                                  #{val\ 1472}#
-                                  #{e1\ 1473}#
-                                  #{e2\ 1474}#)
-                           (let ((#{ids\ 1475}# #{id\ 1471}#))
+                  (apply (lambda (#{_\ 1533}#
+                                  #{id\ 1534}#
+                                  #{val\ 1535}#
+                                  #{e1\ 1536}#
+                                  #{e2\ 1537}#)
+                           (let ((#{ids\ 1538}# #{id\ 1534}#))
                              (if (not (#{valid-bound-ids?\ 156}#
-                                        #{ids\ 1475}#))
+                                        #{ids\ 1538}#))
                                (syntax-violation
                                  'letrec
                                  "duplicate bound variable"
-                                 #{e\ 1457}#)
-                               (let ((#{labels\ 1477}#
-                                       (#{gen-labels\ 137}# #{ids\ 1475}#))
-                                     (#{new-vars\ 1478}#
-                                       (map #{gen-var\ 181}# #{ids\ 1475}#)))
-                                 (let ((#{w\ 1479}#
+                                 #{e\ 1520}#)
+                               (let ((#{labels\ 1540}#
+                                       (#{gen-labels\ 137}# #{ids\ 1538}#))
+                                     (#{new-vars\ 1541}#
+                                       (map #{gen-var\ 181}# #{ids\ 1538}#)))
+                                 (let ((#{w\ 1542}#
                                          (#{make-binding-wrap\ 148}#
-                                           #{ids\ 1475}#
-                                           #{labels\ 1477}#
-                                           #{w\ 1459}#))
-                                       (#{r\ 1480}#
+                                           #{ids\ 1538}#
+                                           #{labels\ 1540}#
+                                           #{w\ 1522}#))
+                                       (#{r\ 1543}#
                                          (#{extend-var-env\ 126}#
-                                           #{labels\ 1477}#
-                                           #{new-vars\ 1478}#
-                                           #{r\ 1458}#)))
+                                           #{labels\ 1540}#
+                                           #{new-vars\ 1541}#
+                                           #{r\ 1521}#)))
                                    (#{build-letrec\ 113}#
-                                     #{s\ 1460}#
-                                     (map syntax->datum #{ids\ 1475}#)
-                                     #{new-vars\ 1478}#
-                                     (map (lambda (#{x\ 1481}#)
+                                     #{s\ 1523}#
+                                     (map syntax->datum #{ids\ 1538}#)
+                                     #{new-vars\ 1541}#
+                                     (map (lambda (#{x\ 1544}#)
                                             (#{chi\ 167}#
-                                              #{x\ 1481}#
-                                              #{r\ 1480}#
-                                              #{w\ 1479}#
-                                              #{mod\ 1461}#))
-                                          #{val\ 1472}#)
+                                              #{x\ 1544}#
+                                              #{r\ 1543}#
+                                              #{w\ 1542}#
+                                              #{mod\ 1524}#))
+                                          #{val\ 1535}#)
                                      (#{chi-body\ 171}#
-                                       (cons #{e1\ 1473}# #{e2\ 1474}#)
+                                       (cons #{e1\ 1536}# #{e2\ 1537}#)
                                        (#{source-wrap\ 160}#
-                                         #{e\ 1457}#
-                                         #{w\ 1479}#
-                                         #{s\ 1460}#
-                                         #{mod\ 1461}#)
-                                       #{r\ 1480}#
-                                       #{w\ 1479}#
-                                       #{mod\ 1461}#)))))))
-                         #{tmp\ 1463}#)
-                  ((lambda (#{_\ 1484}#)
+                                         #{e\ 1520}#
+                                         #{w\ 1542}#
+                                         #{s\ 1523}#
+                                         #{mod\ 1524}#)
+                                       #{r\ 1543}#
+                                       #{w\ 1542}#
+                                       #{mod\ 1524}#)))))))
+                         #{tmp\ 1526}#)
+                  ((lambda (#{_\ 1547}#)
                      (syntax-violation
                        'letrec
                        "bad letrec"
                        (#{source-wrap\ 160}#
-                         #{e\ 1457}#
-                         #{w\ 1459}#
-                         #{s\ 1460}#
-                         #{mod\ 1461}#)))
-                   #{tmp\ 1462}#)))
+                         #{e\ 1520}#
+                         #{w\ 1522}#
+                         #{s\ 1523}#
+                         #{mod\ 1524}#)))
+                   #{tmp\ 1525}#)))
               ($sc-dispatch
-                #{tmp\ 1462}#
+                #{tmp\ 1525}#
                 '(any #(each (any any)) any . each-any))))
-           #{e\ 1457}#)))
+           #{e\ 1520}#)))
       (#{global-extend\ 129}#
         'core
         'set!
-        (lambda (#{e\ 1485}#
-                 #{r\ 1486}#
-                 #{w\ 1487}#
-                 #{s\ 1488}#
-                 #{mod\ 1489}#)
-          ((lambda (#{tmp\ 1490}#)
-             ((lambda (#{tmp\ 1491}#)
-                (if (if #{tmp\ 1491}#
-                      (apply (lambda (#{_\ 1492}# #{id\ 1493}# #{val\ 1494}#)
-                               (#{id?\ 131}# #{id\ 1493}#))
-                             #{tmp\ 1491}#)
+        (lambda (#{e\ 1548}#
+                 #{r\ 1549}#
+                 #{w\ 1550}#
+                 #{s\ 1551}#
+                 #{mod\ 1552}#)
+          ((lambda (#{tmp\ 1553}#)
+             ((lambda (#{tmp\ 1554}#)
+                (if (if #{tmp\ 1554}#
+                      (apply (lambda (#{_\ 1555}# #{id\ 1556}# #{val\ 1557}#)
+                               (#{id?\ 131}# #{id\ 1556}#))
+                             #{tmp\ 1554}#)
                       #f)
-                  (apply (lambda (#{_\ 1495}# #{id\ 1496}# #{val\ 1497}#)
-                           (let ((#{val\ 1498}#
+                  (apply (lambda (#{_\ 1558}# #{id\ 1559}# #{val\ 1560}#)
+                           (let ((#{val\ 1561}#
                                    (#{chi\ 167}#
-                                     #{val\ 1497}#
-                                     #{r\ 1486}#
-                                     #{w\ 1487}#
-                                     #{mod\ 1489}#))
-                                 (#{n\ 1499}#
+                                     #{val\ 1560}#
+                                     #{r\ 1549}#
+                                     #{w\ 1550}#
+                                     #{mod\ 1552}#))
+                                 (#{n\ 1562}#
                                    (#{id-var-name\ 153}#
-                                     #{id\ 1496}#
-                                     #{w\ 1487}#)))
-                             (let ((#{b\ 1500}#
+                                     #{id\ 1559}#
+                                     #{w\ 1550}#)))
+                             (let ((#{b\ 1563}#
                                      (#{lookup\ 128}#
-                                       #{n\ 1499}#
-                                       #{r\ 1486}#
-                                       #{mod\ 1489}#)))
-                               (let ((#{atom-key\ 1501}#
-                                       (#{binding-type\ 123}# #{b\ 1500}#)))
-                                 (if (memv #{atom-key\ 1501}#
+                                       #{n\ 1562}#
+                                       #{r\ 1549}#
+                                       #{mod\ 1552}#)))
+                               (let ((#{atom-key\ 1564}#
+                                       (#{binding-type\ 123}# #{b\ 1563}#)))
+                                 (if (memv #{atom-key\ 1564}#
                                            '(lexical))
                                    (#{build-lexical-assignment\ 99}#
-                                     #{s\ 1488}#
-                                     (syntax->datum #{id\ 1496}#)
-                                     (#{binding-value\ 124}# #{b\ 1500}#)
-                                     #{val\ 1498}#)
-                                   (if (memv #{atom-key\ 1501}#
+                                     #{s\ 1551}#
+                                     (syntax->datum #{id\ 1559}#)
+                                     (#{binding-value\ 124}# #{b\ 1563}#)
+                                     #{val\ 1561}#)
+                                   (if (memv #{atom-key\ 1564}#
                                              '(global))
                                      (#{build-global-assignment\ 102}#
-                                       #{s\ 1488}#
-                                       #{n\ 1499}#
-                                       #{val\ 1498}#
-                                       #{mod\ 1489}#)
-                                     (if (memv #{atom-key\ 1501}#
+                                       #{s\ 1551}#
+                                       #{n\ 1562}#
+                                       #{val\ 1561}#
+                                       #{mod\ 1552}#)
+                                     (if (memv #{atom-key\ 1564}#
                                                '(displaced-lexical))
                                        (syntax-violation
                                          'set!
                                          "identifier out of context"
                                          (#{wrap\ 159}#
-                                           #{id\ 1496}#
-                                           #{w\ 1487}#
-                                           #{mod\ 1489}#))
+                                           #{id\ 1559}#
+                                           #{w\ 1550}#
+                                           #{mod\ 1552}#))
                                        (syntax-violation
                                          'set!
                                          "bad set!"
                                          (#{source-wrap\ 160}#
-                                           #{e\ 1485}#
-                                           #{w\ 1487}#
-                                           #{s\ 1488}#
-                                           #{mod\ 1489}#)))))))))
-                         #{tmp\ 1491}#)
-                  ((lambda (#{tmp\ 1502}#)
-                     (if #{tmp\ 1502}#
-                       (apply (lambda (#{_\ 1503}#
-                                       #{head\ 1504}#
-                                       #{tail\ 1505}#
-                                       #{val\ 1506}#)
+                                           #{e\ 1548}#
+                                           #{w\ 1550}#
+                                           #{s\ 1551}#
+                                           #{mod\ 1552}#)))))))))
+                         #{tmp\ 1554}#)
+                  ((lambda (#{tmp\ 1565}#)
+                     (if #{tmp\ 1565}#
+                       (apply (lambda (#{_\ 1566}#
+                                       #{head\ 1567}#
+                                       #{tail\ 1568}#
+                                       #{val\ 1569}#)
                                 (call-with-values
                                   (lambda ()
                                     (#{syntax-type\ 165}#
-                                      #{head\ 1504}#
-                                      #{r\ 1486}#
+                                      #{head\ 1567}#
+                                      #{r\ 1549}#
                                       '(())
                                       #f
                                       #f
-                                      #{mod\ 1489}#
+                                      #{mod\ 1552}#
                                       #t))
-                                  (lambda (#{type\ 1507}#
-                                           #{value\ 1508}#
-                                           #{ee\ 1509}#
-                                           #{ww\ 1510}#
-                                           #{ss\ 1511}#
-                                           #{modmod\ 1512}#)
-                                    (if (memv #{type\ 1507}#
+                                  (lambda (#{type\ 1570}#
+                                           #{value\ 1571}#
+                                           #{ee\ 1572}#
+                                           #{ww\ 1573}#
+                                           #{ss\ 1574}#
+                                           #{modmod\ 1575}#)
+                                    (if (memv #{type\ 1570}#
                                               '(module-ref))
-                                      (let ((#{val\ 1513}#
+                                      (let ((#{val\ 1576}#
                                               (#{chi\ 167}#
-                                                #{val\ 1506}#
-                                                #{r\ 1486}#
-                                                #{w\ 1487}#
-                                                #{mod\ 1489}#)))
+                                                #{val\ 1569}#
+                                                #{r\ 1549}#
+                                                #{w\ 1550}#
+                                                #{mod\ 1552}#)))
                                         (call-with-values
                                           (lambda ()
-                                            (#{value\ 1508}#
-                                              (cons #{head\ 1504}#
-                                                    #{tail\ 1505}#)))
-                                          (lambda (#{id\ 1515}# #{mod\ 1516}#)
+                                            (#{value\ 1571}#
+                                              (cons #{head\ 1567}#
+                                                    #{tail\ 1568}#)))
+                                          (lambda (#{id\ 1578}# #{mod\ 1579}#)
                                             (#{build-global-assignment\ 102}#
-                                              #{s\ 1488}#
-                                              #{id\ 1515}#
-                                              #{val\ 1513}#
-                                              #{mod\ 1516}#))))
+                                              #{s\ 1551}#
+                                              #{id\ 1578}#
+                                              #{val\ 1576}#
+                                              #{mod\ 1579}#))))
                                       (#{build-application\ 96}#
-                                        #{s\ 1488}#
+                                        #{s\ 1551}#
                                         (#{chi\ 167}#
                                           (list '#(syntax-object
                                                    setter
@@ -9349,53 +9578,53 @@
                                                       ((top) (top))
                                                       ("i" "i")))
                                                    (hygiene guile))
-                                                #{head\ 1504}#)
-                                          #{r\ 1486}#
-                                          #{w\ 1487}#
-                                          #{mod\ 1489}#)
-                                        (map (lambda (#{e\ 1517}#)
+                                                #{head\ 1567}#)
+                                          #{r\ 1549}#
+                                          #{w\ 1550}#
+                                          #{mod\ 1552}#)
+                                        (map (lambda (#{e\ 1580}#)
                                                (#{chi\ 167}#
-                                                 #{e\ 1517}#
-                                                 #{r\ 1486}#
-                                                 #{w\ 1487}#
-                                                 #{mod\ 1489}#))
+                                                 #{e\ 1580}#
+                                                 #{r\ 1549}#
+                                                 #{w\ 1550}#
+                                                 #{mod\ 1552}#))
                                              (append
-                                               #{tail\ 1505}#
-                                               (list #{val\ 1506}#))))))))
-                              #{tmp\ 1502}#)
-                       ((lambda (#{_\ 1519}#)
+                                               #{tail\ 1568}#
+                                               (list #{val\ 1569}#))))))))
+                              #{tmp\ 1565}#)
+                       ((lambda (#{_\ 1582}#)
                           (syntax-violation
                             'set!
                             "bad set!"
                             (#{source-wrap\ 160}#
-                              #{e\ 1485}#
-                              #{w\ 1487}#
-                              #{s\ 1488}#
-                              #{mod\ 1489}#)))
-                        #{tmp\ 1490}#)))
+                              #{e\ 1548}#
+                              #{w\ 1550}#
+                              #{s\ 1551}#
+                              #{mod\ 1552}#)))
+                        #{tmp\ 1553}#)))
                    ($sc-dispatch
-                     #{tmp\ 1490}#
+                     #{tmp\ 1553}#
                      '(any (any . each-any) any)))))
               ($sc-dispatch
-                #{tmp\ 1490}#
+                #{tmp\ 1553}#
                 '(any any any))))
-           #{e\ 1485}#)))
+           #{e\ 1548}#)))
       (#{global-extend\ 129}#
         'module-ref
         '@
-        (lambda (#{e\ 1520}#)
-          ((lambda (#{tmp\ 1521}#)
-             ((lambda (#{tmp\ 1522}#)
-                (if (if #{tmp\ 1522}#
-                      (apply (lambda (#{_\ 1523}# #{mod\ 1524}# #{id\ 1525}#)
-                               (if (and-map #{id?\ 131}# #{mod\ 1524}#)
-                                 (#{id?\ 131}# #{id\ 1525}#)
+        (lambda (#{e\ 1583}#)
+          ((lambda (#{tmp\ 1584}#)
+             ((lambda (#{tmp\ 1585}#)
+                (if (if #{tmp\ 1585}#
+                      (apply (lambda (#{_\ 1586}# #{mod\ 1587}# #{id\ 1588}#)
+                               (if (and-map #{id?\ 131}# #{mod\ 1587}#)
+                                 (#{id?\ 131}# #{id\ 1588}#)
                                  #f))
-                             #{tmp\ 1522}#)
+                             #{tmp\ 1585}#)
                       #f)
-                  (apply (lambda (#{_\ 1527}# #{mod\ 1528}# #{id\ 1529}#)
+                  (apply (lambda (#{_\ 1590}# #{mod\ 1591}# #{id\ 1592}#)
                            (values
-                             (syntax->datum #{id\ 1529}#)
+                             (syntax->datum #{id\ 1592}#)
                              (syntax->datum
                                (cons '#(syntax-object
                                         public
@@ -9763,32 +9992,32 @@
                                            ((top) (top))
                                            ("i" "i")))
                                         (hygiene guile))
-                                     #{mod\ 1528}#))))
-                         #{tmp\ 1522}#)
+                                     #{mod\ 1591}#))))
+                         #{tmp\ 1585}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp\ 1521}#)))
+                    #{tmp\ 1584}#)))
               ($sc-dispatch
-                #{tmp\ 1521}#
+                #{tmp\ 1584}#
                 '(any each-any any))))
-           #{e\ 1520}#)))
+           #{e\ 1583}#)))
       (#{global-extend\ 129}#
         'module-ref
         '@@
-        (lambda (#{e\ 1531}#)
-          ((lambda (#{tmp\ 1532}#)
-             ((lambda (#{tmp\ 1533}#)
-                (if (if #{tmp\ 1533}#
-                      (apply (lambda (#{_\ 1534}# #{mod\ 1535}# #{id\ 1536}#)
-                               (if (and-map #{id?\ 131}# #{mod\ 1535}#)
-                                 (#{id?\ 131}# #{id\ 1536}#)
+        (lambda (#{e\ 1594}#)
+          ((lambda (#{tmp\ 1595}#)
+             ((lambda (#{tmp\ 1596}#)
+                (if (if #{tmp\ 1596}#
+                      (apply (lambda (#{_\ 1597}# #{mod\ 1598}# #{id\ 1599}#)
+                               (if (and-map #{id?\ 131}# #{mod\ 1598}#)
+                                 (#{id?\ 131}# #{id\ 1599}#)
                                  #f))
-                             #{tmp\ 1533}#)
+                             #{tmp\ 1596}#)
                       #f)
-                  (apply (lambda (#{_\ 1538}# #{mod\ 1539}# #{id\ 1540}#)
+                  (apply (lambda (#{_\ 1601}# #{mod\ 1602}# #{id\ 1603}#)
                            (values
-                             (syntax->datum #{id\ 1540}#)
+                             (syntax->datum #{id\ 1603}#)
                              (syntax->datum
                                (cons '#(syntax-object
                                         private
@@ -10156,77 +10385,77 @@
                                            ((top) (top))
                                            ("i" "i")))
                                         (hygiene guile))
-                                     #{mod\ 1539}#))))
-                         #{tmp\ 1533}#)
+                                     #{mod\ 1602}#))))
+                         #{tmp\ 1596}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp\ 1532}#)))
+                    #{tmp\ 1595}#)))
               ($sc-dispatch
-                #{tmp\ 1532}#
+                #{tmp\ 1595}#
                 '(any each-any any))))
-           #{e\ 1531}#)))
+           #{e\ 1594}#)))
       (#{global-extend\ 129}#
         'core
         'if
-        (lambda (#{e\ 1542}#
-                 #{r\ 1543}#
-                 #{w\ 1544}#
-                 #{s\ 1545}#
-                 #{mod\ 1546}#)
-          ((lambda (#{tmp\ 1547}#)
-             ((lambda (#{tmp\ 1548}#)
-                (if #{tmp\ 1548}#
-                  (apply (lambda (#{_\ 1549}# #{test\ 1550}# #{then\ 1551}#)
+        (lambda (#{e\ 1605}#
+                 #{r\ 1606}#
+                 #{w\ 1607}#
+                 #{s\ 1608}#
+                 #{mod\ 1609}#)
+          ((lambda (#{tmp\ 1610}#)
+             ((lambda (#{tmp\ 1611}#)
+                (if #{tmp\ 1611}#
+                  (apply (lambda (#{_\ 1612}# #{test\ 1613}# #{then\ 1614}#)
                            (#{build-conditional\ 97}#
-                             #{s\ 1545}#
+                             #{s\ 1608}#
                              (#{chi\ 167}#
-                               #{test\ 1550}#
-                               #{r\ 1543}#
-                               #{w\ 1544}#
-                               #{mod\ 1546}#)
+                               #{test\ 1613}#
+                               #{r\ 1606}#
+                               #{w\ 1607}#
+                               #{mod\ 1609}#)
                              (#{chi\ 167}#
-                               #{then\ 1551}#
-                               #{r\ 1543}#
-                               #{w\ 1544}#
-                               #{mod\ 1546}#)
+                               #{then\ 1614}#
+                               #{r\ 1606}#
+                               #{w\ 1607}#
+                               #{mod\ 1609}#)
                              (#{build-void\ 95}# #f)))
-                         #{tmp\ 1548}#)
-                  ((lambda (#{tmp\ 1552}#)
-                     (if #{tmp\ 1552}#
-                       (apply (lambda (#{_\ 1553}#
-                                       #{test\ 1554}#
-                                       #{then\ 1555}#
-                                       #{else\ 1556}#)
+                         #{tmp\ 1611}#)
+                  ((lambda (#{tmp\ 1615}#)
+                     (if #{tmp\ 1615}#
+                       (apply (lambda (#{_\ 1616}#
+                                       #{test\ 1617}#
+                                       #{then\ 1618}#
+                                       #{else\ 1619}#)
                                 (#{build-conditional\ 97}#
-                                  #{s\ 1545}#
+                                  #{s\ 1608}#
                                   (#{chi\ 167}#
-                                    #{test\ 1554}#
-                                    #{r\ 1543}#
-                                    #{w\ 1544}#
-                                    #{mod\ 1546}#)
+                                    #{test\ 1617}#
+                                    #{r\ 1606}#
+                                    #{w\ 1607}#
+                                    #{mod\ 1609}#)
                                   (#{chi\ 167}#
-                                    #{then\ 1555}#
-                                    #{r\ 1543}#
-                                    #{w\ 1544}#
-                                    #{mod\ 1546}#)
+                                    #{then\ 1618}#
+                                    #{r\ 1606}#
+                                    #{w\ 1607}#
+                                    #{mod\ 1609}#)
                                   (#{chi\ 167}#
-                                    #{else\ 1556}#
-                                    #{r\ 1543}#
-                                    #{w\ 1544}#
-                                    #{mod\ 1546}#)))
-                              #{tmp\ 1552}#)
+                                    #{else\ 1619}#
+                                    #{r\ 1606}#
+                                    #{w\ 1607}#
+                                    #{mod\ 1609}#)))
+                              #{tmp\ 1615}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp\ 1547}#)))
+                         #{tmp\ 1610}#)))
                    ($sc-dispatch
-                     #{tmp\ 1547}#
+                     #{tmp\ 1610}#
                      '(any any any any)))))
               ($sc-dispatch
-                #{tmp\ 1547}#
+                #{tmp\ 1610}#
                 '(any any any))))
-           #{e\ 1542}#)))
+           #{e\ 1605}#)))
       (#{global-extend\ 129}#
         'begin
         'begin
@@ -10246,13 +10475,13 @@
       (#{global-extend\ 129}#
         'core
         'syntax-case
-        (letrec ((#{gen-syntax-case\ 1560}#
-                   (lambda (#{x\ 1561}#
-                            #{keys\ 1562}#
-                            #{clauses\ 1563}#
-                            #{r\ 1564}#
-                            #{mod\ 1565}#)
-                     (if (null? #{clauses\ 1563}#)
+        (letrec ((#{gen-syntax-case\ 1623}#
+                   (lambda (#{x\ 1624}#
+                            #{keys\ 1625}#
+                            #{clauses\ 1626}#
+                            #{r\ 1627}#
+                            #{mod\ 1628}#)
+                     (if (null? #{clauses\ 1626}#)
                        (#{build-application\ 96}#
                          #f
                          (#{build-primref\ 108}#
@@ -10262,17 +10491,17 @@
                                (#{build-data\ 109}#
                                  #f
                                  "source expression failed to match any 
pattern")
-                               #{x\ 1561}#))
-                       ((lambda (#{tmp\ 1566}#)
-                          ((lambda (#{tmp\ 1567}#)
-                             (if #{tmp\ 1567}#
-                               (apply (lambda (#{pat\ 1568}# #{exp\ 1569}#)
-                                        (if (if (#{id?\ 131}# #{pat\ 1568}#)
+                               #{x\ 1624}#))
+                       ((lambda (#{tmp\ 1629}#)
+                          ((lambda (#{tmp\ 1630}#)
+                             (if #{tmp\ 1630}#
+                               (apply (lambda (#{pat\ 1631}# #{exp\ 1632}#)
+                                        (if (if (#{id?\ 131}# #{pat\ 1631}#)
                                               (and-map
-                                                (lambda (#{x\ 1570}#)
+                                                (lambda (#{x\ 1633}#)
                                                   (not (#{free-id=?\ 154}#
-                                                         #{pat\ 1568}#
-                                                         #{x\ 1570}#)))
+                                                         #{pat\ 1631}#
+                                                         #{x\ 1633}#)))
                                                 (cons '#(syntax-object
                                                          ...
                                                          ((top)
@@ -10665,103 +10894,103 @@
                                                             ((top) (top))
                                                             ("i" "i")))
                                                          (hygiene guile))
-                                                      #{keys\ 1562}#))
+                                                      #{keys\ 1625}#))
                                               #f)
-                                          (let ((#{labels\ 1571}#
+                                          (let ((#{labels\ 1634}#
                                                   (list (#{gen-label\ 136}#)))
-                                                (#{var\ 1572}#
+                                                (#{var\ 1635}#
                                                   (#{gen-var\ 181}#
-                                                    #{pat\ 1568}#)))
+                                                    #{pat\ 1631}#)))
                                             (#{build-application\ 96}#
                                               #f
                                               (#{build-simple-lambda\ 105}#
                                                 #f
                                                 (list (syntax->datum
-                                                        #{pat\ 1568}#))
+                                                        #{pat\ 1631}#))
                                                 #f
-                                                (list #{var\ 1572}#)
+                                                (list #{var\ 1635}#)
                                                 #f
                                                 (#{chi\ 167}#
-                                                  #{exp\ 1569}#
+                                                  #{exp\ 1632}#
                                                   (#{extend-env\ 125}#
-                                                    #{labels\ 1571}#
+                                                    #{labels\ 1634}#
                                                     (list (cons 'syntax
-                                                                (cons #{var\ 
1572}#
+                                                                (cons #{var\ 
1635}#
                                                                       0)))
-                                                    #{r\ 1564}#)
+                                                    #{r\ 1627}#)
                                                   (#{make-binding-wrap\ 148}#
-                                                    (list #{pat\ 1568}#)
-                                                    #{labels\ 1571}#
+                                                    (list #{pat\ 1631}#)
+                                                    #{labels\ 1634}#
                                                     '(()))
-                                                  #{mod\ 1565}#))
-                                              (list #{x\ 1561}#)))
-                                          (#{gen-clause\ 1559}#
-                                            #{x\ 1561}#
-                                            #{keys\ 1562}#
-                                            (cdr #{clauses\ 1563}#)
-                                            #{r\ 1564}#
-                                            #{pat\ 1568}#
+                                                  #{mod\ 1628}#))
+                                              (list #{x\ 1624}#)))
+                                          (#{gen-clause\ 1622}#
+                                            #{x\ 1624}#
+                                            #{keys\ 1625}#
+                                            (cdr #{clauses\ 1626}#)
+                                            #{r\ 1627}#
+                                            #{pat\ 1631}#
                                             #t
-                                            #{exp\ 1569}#
-                                            #{mod\ 1565}#)))
-                                      #{tmp\ 1567}#)
-                               ((lambda (#{tmp\ 1573}#)
-                                  (if #{tmp\ 1573}#
-                                    (apply (lambda (#{pat\ 1574}#
-                                                    #{fender\ 1575}#
-                                                    #{exp\ 1576}#)
-                                             (#{gen-clause\ 1559}#
-                                               #{x\ 1561}#
-                                               #{keys\ 1562}#
-                                               (cdr #{clauses\ 1563}#)
-                                               #{r\ 1564}#
-                                               #{pat\ 1574}#
-                                               #{fender\ 1575}#
-                                               #{exp\ 1576}#
-                                               #{mod\ 1565}#))
-                                           #{tmp\ 1573}#)
-                                    ((lambda (#{_\ 1577}#)
+                                            #{exp\ 1632}#
+                                            #{mod\ 1628}#)))
+                                      #{tmp\ 1630}#)
+                               ((lambda (#{tmp\ 1636}#)
+                                  (if #{tmp\ 1636}#
+                                    (apply (lambda (#{pat\ 1637}#
+                                                    #{fender\ 1638}#
+                                                    #{exp\ 1639}#)
+                                             (#{gen-clause\ 1622}#
+                                               #{x\ 1624}#
+                                               #{keys\ 1625}#
+                                               (cdr #{clauses\ 1626}#)
+                                               #{r\ 1627}#
+                                               #{pat\ 1637}#
+                                               #{fender\ 1638}#
+                                               #{exp\ 1639}#
+                                               #{mod\ 1628}#))
+                                           #{tmp\ 1636}#)
+                                    ((lambda (#{_\ 1640}#)
                                        (syntax-violation
                                          'syntax-case
                                          "invalid clause"
-                                         (car #{clauses\ 1563}#)))
-                                     #{tmp\ 1566}#)))
+                                         (car #{clauses\ 1626}#)))
+                                     #{tmp\ 1629}#)))
                                 ($sc-dispatch
-                                  #{tmp\ 1566}#
+                                  #{tmp\ 1629}#
                                   '(any any any)))))
-                           ($sc-dispatch #{tmp\ 1566}# (quote (any any)))))
-                        (car #{clauses\ 1563}#)))))
-                 (#{gen-clause\ 1559}#
-                   (lambda (#{x\ 1578}#
-                            #{keys\ 1579}#
-                            #{clauses\ 1580}#
-                            #{r\ 1581}#
-                            #{pat\ 1582}#
-                            #{fender\ 1583}#
-                            #{exp\ 1584}#
-                            #{mod\ 1585}#)
+                           ($sc-dispatch #{tmp\ 1629}# (quote (any any)))))
+                        (car #{clauses\ 1626}#)))))
+                 (#{gen-clause\ 1622}#
+                   (lambda (#{x\ 1641}#
+                            #{keys\ 1642}#
+                            #{clauses\ 1643}#
+                            #{r\ 1644}#
+                            #{pat\ 1645}#
+                            #{fender\ 1646}#
+                            #{exp\ 1647}#
+                            #{mod\ 1648}#)
                      (call-with-values
                        (lambda ()
-                         (#{convert-pattern\ 1557}#
-                           #{pat\ 1582}#
-                           #{keys\ 1579}#))
-                       (lambda (#{p\ 1586}# #{pvars\ 1587}#)
+                         (#{convert-pattern\ 1620}#
+                           #{pat\ 1645}#
+                           #{keys\ 1642}#))
+                       (lambda (#{p\ 1649}# #{pvars\ 1650}#)
                          (if (not (#{distinct-bound-ids?\ 157}#
-                                    (map car #{pvars\ 1587}#)))
+                                    (map car #{pvars\ 1650}#)))
                            (syntax-violation
                              'syntax-case
                              "duplicate pattern variable"
-                             #{pat\ 1582}#)
+                             #{pat\ 1645}#)
                            (if (not (and-map
-                                      (lambda (#{x\ 1588}#)
+                                      (lambda (#{x\ 1651}#)
                                         (not (#{ellipsis?\ 175}#
-                                               (car #{x\ 1588}#))))
-                                      #{pvars\ 1587}#))
+                                               (car #{x\ 1651}#))))
+                                      #{pvars\ 1650}#))
                              (syntax-violation
                                'syntax-case
                                "misplaced ellipsis"
-                               #{pat\ 1582}#)
-                             (let ((#{y\ 1589}#
+                               #{pat\ 1645}#)
+                             (let ((#{y\ 1652}#
                                      (#{gen-var\ 181}# (quote tmp))))
                                (#{build-application\ 96}#
                                  #f
@@ -10769,630 +10998,630 @@
                                    #f
                                    (list (quote tmp))
                                    #f
-                                   (list #{y\ 1589}#)
+                                   (list #{y\ 1652}#)
                                    #f
-                                   (let ((#{y\ 1590}#
+                                   (let ((#{y\ 1653}#
                                            (#{build-lexical-reference\ 98}#
                                              'value
                                              #f
                                              'tmp
-                                             #{y\ 1589}#)))
+                                             #{y\ 1652}#)))
                                      (#{build-conditional\ 97}#
                                        #f
-                                       ((lambda (#{tmp\ 1591}#)
-                                          ((lambda (#{tmp\ 1592}#)
-                                             (if #{tmp\ 1592}#
-                                               (apply (lambda () #{y\ 1590}#)
-                                                      #{tmp\ 1592}#)
-                                               ((lambda (#{_\ 1593}#)
+                                       ((lambda (#{tmp\ 1654}#)
+                                          ((lambda (#{tmp\ 1655}#)
+                                             (if #{tmp\ 1655}#
+                                               (apply (lambda () #{y\ 1653}#)
+                                                      #{tmp\ 1655}#)
+                                               ((lambda (#{_\ 1656}#)
                                                   (#{build-conditional\ 97}#
                                                     #f
-                                                    #{y\ 1590}#
-                                                    (#{build-dispatch-call\ 
1558}#
-                                                      #{pvars\ 1587}#
-                                                      #{fender\ 1583}#
-                                                      #{y\ 1590}#
-                                                      #{r\ 1581}#
-                                                      #{mod\ 1585}#)
+                                                    #{y\ 1653}#
+                                                    (#{build-dispatch-call\ 
1621}#
+                                                      #{pvars\ 1650}#
+                                                      #{fender\ 1646}#
+                                                      #{y\ 1653}#
+                                                      #{r\ 1644}#
+                                                      #{mod\ 1648}#)
                                                     (#{build-data\ 109}#
                                                       #f
                                                       #f)))
-                                                #{tmp\ 1591}#)))
+                                                #{tmp\ 1654}#)))
                                            ($sc-dispatch
-                                             #{tmp\ 1591}#
+                                             #{tmp\ 1654}#
                                              '#(atom #t))))
-                                        #{fender\ 1583}#)
-                                       (#{build-dispatch-call\ 1558}#
-                                         #{pvars\ 1587}#
-                                         #{exp\ 1584}#
-                                         #{y\ 1590}#
-                                         #{r\ 1581}#
-                                         #{mod\ 1585}#)
-                                       (#{gen-syntax-case\ 1560}#
-                                         #{x\ 1578}#
-                                         #{keys\ 1579}#
-                                         #{clauses\ 1580}#
-                                         #{r\ 1581}#
-                                         #{mod\ 1585}#))))
-                                 (list (if (eq? #{p\ 1586}# (quote any))
+                                        #{fender\ 1646}#)
+                                       (#{build-dispatch-call\ 1621}#
+                                         #{pvars\ 1650}#
+                                         #{exp\ 1647}#
+                                         #{y\ 1653}#
+                                         #{r\ 1644}#
+                                         #{mod\ 1648}#)
+                                       (#{gen-syntax-case\ 1623}#
+                                         #{x\ 1641}#
+                                         #{keys\ 1642}#
+                                         #{clauses\ 1643}#
+                                         #{r\ 1644}#
+                                         #{mod\ 1648}#))))
+                                 (list (if (eq? #{p\ 1649}# (quote any))
                                          (#{build-application\ 96}#
                                            #f
                                            (#{build-primref\ 108}#
                                              #f
                                              'list)
-                                           (list #{x\ 1578}#))
+                                           (list #{x\ 1641}#))
                                          (#{build-application\ 96}#
                                            #f
                                            (#{build-primref\ 108}#
                                              #f
                                              '$sc-dispatch)
-                                           (list #{x\ 1578}#
+                                           (list #{x\ 1641}#
                                                  (#{build-data\ 109}#
                                                    #f
-                                                   #{p\ 1586}#)))))))))))))
-                 (#{build-dispatch-call\ 1558}#
-                   (lambda (#{pvars\ 1594}#
-                            #{exp\ 1595}#
-                            #{y\ 1596}#
-                            #{r\ 1597}#
-                            #{mod\ 1598}#)
-                     (let ((#{ids\ 1599}# (map car #{pvars\ 1594}#))
-                           (#{levels\ 1600}# (map cdr #{pvars\ 1594}#)))
-                       (let ((#{labels\ 1601}#
-                               (#{gen-labels\ 137}# #{ids\ 1599}#))
-                             (#{new-vars\ 1602}#
-                               (map #{gen-var\ 181}# #{ids\ 1599}#)))
+                                                   #{p\ 1649}#)))))))))))))
+                 (#{build-dispatch-call\ 1621}#
+                   (lambda (#{pvars\ 1657}#
+                            #{exp\ 1658}#
+                            #{y\ 1659}#
+                            #{r\ 1660}#
+                            #{mod\ 1661}#)
+                     (let ((#{ids\ 1662}# (map car #{pvars\ 1657}#))
+                           (#{levels\ 1663}# (map cdr #{pvars\ 1657}#)))
+                       (let ((#{labels\ 1664}#
+                               (#{gen-labels\ 137}# #{ids\ 1662}#))
+                             (#{new-vars\ 1665}#
+                               (map #{gen-var\ 181}# #{ids\ 1662}#)))
                          (#{build-application\ 96}#
                            #f
                            (#{build-primref\ 108}# #f (quote apply))
                            (list (#{build-simple-lambda\ 105}#
                                    #f
-                                   (map syntax->datum #{ids\ 1599}#)
+                                   (map syntax->datum #{ids\ 1662}#)
                                    #f
-                                   #{new-vars\ 1602}#
+                                   #{new-vars\ 1665}#
                                    #f
                                    (#{chi\ 167}#
-                                     #{exp\ 1595}#
+                                     #{exp\ 1658}#
                                      (#{extend-env\ 125}#
-                                       #{labels\ 1601}#
-                                       (map (lambda (#{var\ 1603}#
-                                                     #{level\ 1604}#)
+                                       #{labels\ 1664}#
+                                       (map (lambda (#{var\ 1666}#
+                                                     #{level\ 1667}#)
                                               (cons 'syntax
-                                                    (cons #{var\ 1603}#
-                                                          #{level\ 1604}#)))
-                                            #{new-vars\ 1602}#
-                                            (map cdr #{pvars\ 1594}#))
-                                       #{r\ 1597}#)
+                                                    (cons #{var\ 1666}#
+                                                          #{level\ 1667}#)))
+                                            #{new-vars\ 1665}#
+                                            (map cdr #{pvars\ 1657}#))
+                                       #{r\ 1660}#)
                                      (#{make-binding-wrap\ 148}#
-                                       #{ids\ 1599}#
-                                       #{labels\ 1601}#
+                                       #{ids\ 1662}#
+                                       #{labels\ 1664}#
                                        '(()))
-                                     #{mod\ 1598}#))
-                                 #{y\ 1596}#))))))
-                 (#{convert-pattern\ 1557}#
-                   (lambda (#{pattern\ 1605}# #{keys\ 1606}#)
-                     (letrec ((#{cvt\ 1607}#
-                                (lambda (#{p\ 1608}# #{n\ 1609}# #{ids\ 1610}#)
-                                  (if (#{id?\ 131}# #{p\ 1608}#)
+                                     #{mod\ 1661}#))
+                                 #{y\ 1659}#))))))
+                 (#{convert-pattern\ 1620}#
+                   (lambda (#{pattern\ 1668}# #{keys\ 1669}#)
+                     (letrec ((#{cvt\ 1670}#
+                                (lambda (#{p\ 1671}# #{n\ 1672}# #{ids\ 1673}#)
+                                  (if (#{id?\ 131}# #{p\ 1671}#)
                                     (if (#{bound-id-member?\ 158}#
-                                          #{p\ 1608}#
-                                          #{keys\ 1606}#)
+                                          #{p\ 1671}#
+                                          #{keys\ 1669}#)
                                       (values
-                                        (vector (quote free-id) #{p\ 1608}#)
-                                        #{ids\ 1610}#)
+                                        (vector (quote free-id) #{p\ 1671}#)
+                                        #{ids\ 1673}#)
                                       (values
                                         'any
-                                        (cons (cons #{p\ 1608}# #{n\ 1609}#)
-                                              #{ids\ 1610}#)))
-                                    ((lambda (#{tmp\ 1611}#)
-                                       ((lambda (#{tmp\ 1612}#)
-                                          (if (if #{tmp\ 1612}#
-                                                (apply (lambda (#{x\ 1613}#
-                                                                #{dots\ 1614}#)
+                                        (cons (cons #{p\ 1671}# #{n\ 1672}#)
+                                              #{ids\ 1673}#)))
+                                    ((lambda (#{tmp\ 1674}#)
+                                       ((lambda (#{tmp\ 1675}#)
+                                          (if (if #{tmp\ 1675}#
+                                                (apply (lambda (#{x\ 1676}#
+                                                                #{dots\ 1677}#)
                                                          (#{ellipsis?\ 175}#
-                                                           #{dots\ 1614}#))
-                                                       #{tmp\ 1612}#)
+                                                           #{dots\ 1677}#))
+                                                       #{tmp\ 1675}#)
                                                 #f)
-                                            (apply (lambda (#{x\ 1615}#
-                                                            #{dots\ 1616}#)
+                                            (apply (lambda (#{x\ 1678}#
+                                                            #{dots\ 1679}#)
                                                      (call-with-values
                                                        (lambda ()
-                                                         (#{cvt\ 1607}#
-                                                           #{x\ 1615}#
+                                                         (#{cvt\ 1670}#
+                                                           #{x\ 1678}#
                                                            (#{fx+\ 86}#
-                                                             #{n\ 1609}#
+                                                             #{n\ 1672}#
                                                              1)
-                                                           #{ids\ 1610}#))
-                                                       (lambda (#{p\ 1617}#
-                                                                #{ids\ 1618}#)
+                                                           #{ids\ 1673}#))
+                                                       (lambda (#{p\ 1680}#
+                                                                #{ids\ 1681}#)
                                                          (values
-                                                           (if (eq? #{p\ 1617}#
+                                                           (if (eq? #{p\ 1680}#
                                                                     'any)
                                                              'each-any
                                                              (vector
                                                                'each
-                                                               #{p\ 1617}#))
-                                                           #{ids\ 1618}#))))
-                                                   #{tmp\ 1612}#)
-                                            ((lambda (#{tmp\ 1619}#)
-                                               (if #{tmp\ 1619}#
-                                                 (apply (lambda (#{x\ 1620}#
-                                                                 #{y\ 1621}#)
+                                                               #{p\ 1680}#))
+                                                           #{ids\ 1681}#))))
+                                                   #{tmp\ 1675}#)
+                                            ((lambda (#{tmp\ 1682}#)
+                                               (if #{tmp\ 1682}#
+                                                 (apply (lambda (#{x\ 1683}#
+                                                                 #{y\ 1684}#)
                                                           (call-with-values
                                                             (lambda ()
-                                                              (#{cvt\ 1607}#
-                                                                #{y\ 1621}#
-                                                                #{n\ 1609}#
-                                                                #{ids\ 1610}#))
-                                                            (lambda (#{y\ 
1622}#
-                                                                     #{ids\ 
1623}#)
+                                                              (#{cvt\ 1670}#
+                                                                #{y\ 1684}#
+                                                                #{n\ 1672}#
+                                                                #{ids\ 1673}#))
+                                                            (lambda (#{y\ 
1685}#
+                                                                     #{ids\ 
1686}#)
                                                               (call-with-values
                                                                 (lambda ()
-                                                                  (#{cvt\ 
1607}#
-                                                                    #{x\ 1620}#
-                                                                    #{n\ 1609}#
-                                                                    #{ids\ 
1623}#))
-                                                                (lambda (#{x\ 
1624}#
-                                                                         
#{ids\ 1625}#)
+                                                                  (#{cvt\ 
1670}#
+                                                                    #{x\ 1683}#
+                                                                    #{n\ 1672}#
+                                                                    #{ids\ 
1686}#))
+                                                                (lambda (#{x\ 
1687}#
+                                                                         
#{ids\ 1688}#)
                                                                   (values
-                                                                    (cons #{x\ 
1624}#
-                                                                          #{y\ 
1622}#)
-                                                                    #{ids\ 
1625}#))))))
-                                                        #{tmp\ 1619}#)
-                                                 ((lambda (#{tmp\ 1626}#)
-                                                    (if #{tmp\ 1626}#
+                                                                    (cons #{x\ 
1687}#
+                                                                          #{y\ 
1685}#)
+                                                                    #{ids\ 
1688}#))))))
+                                                        #{tmp\ 1682}#)
+                                                 ((lambda (#{tmp\ 1689}#)
+                                                    (if #{tmp\ 1689}#
                                                       (apply (lambda ()
                                                                (values
                                                                  '()
-                                                                 #{ids\ 
1610}#))
-                                                             #{tmp\ 1626}#)
-                                                      ((lambda (#{tmp\ 1627}#)
-                                                         (if #{tmp\ 1627}#
-                                                           (apply (lambda 
(#{x\ 1628}#)
+                                                                 #{ids\ 
1673}#))
+                                                             #{tmp\ 1689}#)
+                                                      ((lambda (#{tmp\ 1690}#)
+                                                         (if #{tmp\ 1690}#
+                                                           (apply (lambda 
(#{x\ 1691}#)
                                                                     
(call-with-values
                                                                       (lambda 
()
-                                                                        
(#{cvt\ 1607}#
-                                                                          #{x\ 
1628}#
-                                                                          #{n\ 
1609}#
-                                                                          
#{ids\ 1610}#))
-                                                                      (lambda 
(#{p\ 1630}#
-                                                                               
#{ids\ 1631}#)
+                                                                        
(#{cvt\ 1670}#
+                                                                          #{x\ 
1691}#
+                                                                          #{n\ 
1672}#
+                                                                          
#{ids\ 1673}#))
+                                                                      (lambda 
(#{p\ 1693}#
+                                                                               
#{ids\ 1694}#)
                                                                         (values
                                                                           
(vector
                                                                             
'vector
-                                                                            
#{p\ 1630}#)
-                                                                          
#{ids\ 1631}#))))
-                                                                  #{tmp\ 
1627}#)
-                                                           ((lambda (#{x\ 
1632}#)
+                                                                            
#{p\ 1693}#)
+                                                                          
#{ids\ 1694}#))))
+                                                                  #{tmp\ 
1690}#)
+                                                           ((lambda (#{x\ 
1695}#)
                                                               (values
                                                                 (vector
                                                                   'atom
                                                                   (#{strip\ 
180}#
-                                                                    #{p\ 1608}#
+                                                                    #{p\ 1671}#
                                                                     '(())))
-                                                                #{ids\ 1610}#))
-                                                            #{tmp\ 1611}#)))
+                                                                #{ids\ 1673}#))
+                                                            #{tmp\ 1674}#)))
                                                        ($sc-dispatch
-                                                         #{tmp\ 1611}#
+                                                         #{tmp\ 1674}#
                                                          '#(vector
                                                             each-any)))))
                                                   ($sc-dispatch
-                                                    #{tmp\ 1611}#
+                                                    #{tmp\ 1674}#
                                                     '()))))
                                              ($sc-dispatch
-                                               #{tmp\ 1611}#
+                                               #{tmp\ 1674}#
                                                '(any . any)))))
                                         ($sc-dispatch
-                                          #{tmp\ 1611}#
+                                          #{tmp\ 1674}#
                                           '(any any))))
-                                     #{p\ 1608}#)))))
-                       (#{cvt\ 1607}# #{pattern\ 1605}# 0 (quote ()))))))
-          (lambda (#{e\ 1633}#
-                   #{r\ 1634}#
-                   #{w\ 1635}#
-                   #{s\ 1636}#
-                   #{mod\ 1637}#)
-            (let ((#{e\ 1638}#
+                                     #{p\ 1671}#)))))
+                       (#{cvt\ 1670}# #{pattern\ 1668}# 0 (quote ()))))))
+          (lambda (#{e\ 1696}#
+                   #{r\ 1697}#
+                   #{w\ 1698}#
+                   #{s\ 1699}#
+                   #{mod\ 1700}#)
+            (let ((#{e\ 1701}#
                     (#{source-wrap\ 160}#
-                      #{e\ 1633}#
-                      #{w\ 1635}#
-                      #{s\ 1636}#
-                      #{mod\ 1637}#)))
-              ((lambda (#{tmp\ 1639}#)
-                 ((lambda (#{tmp\ 1640}#)
-                    (if #{tmp\ 1640}#
-                      (apply (lambda (#{_\ 1641}#
-                                      #{val\ 1642}#
-                                      #{key\ 1643}#
-                                      #{m\ 1644}#)
+                      #{e\ 1696}#
+                      #{w\ 1698}#
+                      #{s\ 1699}#
+                      #{mod\ 1700}#)))
+              ((lambda (#{tmp\ 1702}#)
+                 ((lambda (#{tmp\ 1703}#)
+                    (if #{tmp\ 1703}#
+                      (apply (lambda (#{_\ 1704}#
+                                      #{val\ 1705}#
+                                      #{key\ 1706}#
+                                      #{m\ 1707}#)
                                (if (and-map
-                                     (lambda (#{x\ 1645}#)
-                                       (if (#{id?\ 131}# #{x\ 1645}#)
-                                         (not (#{ellipsis?\ 175}# #{x\ 1645}#))
+                                     (lambda (#{x\ 1708}#)
+                                       (if (#{id?\ 131}# #{x\ 1708}#)
+                                         (not (#{ellipsis?\ 175}# #{x\ 1708}#))
                                          #f))
-                                     #{key\ 1643}#)
-                                 (let ((#{x\ 1647}#
+                                     #{key\ 1706}#)
+                                 (let ((#{x\ 1710}#
                                          (#{gen-var\ 181}# (quote tmp))))
                                    (#{build-application\ 96}#
-                                     #{s\ 1636}#
+                                     #{s\ 1699}#
                                      (#{build-simple-lambda\ 105}#
                                        #f
                                        (list (quote tmp))
                                        #f
-                                       (list #{x\ 1647}#)
+                                       (list #{x\ 1710}#)
                                        #f
-                                       (#{gen-syntax-case\ 1560}#
+                                       (#{gen-syntax-case\ 1623}#
                                          (#{build-lexical-reference\ 98}#
                                            'value
                                            #f
                                            'tmp
-                                           #{x\ 1647}#)
-                                         #{key\ 1643}#
-                                         #{m\ 1644}#
-                                         #{r\ 1634}#
-                                         #{mod\ 1637}#))
+                                           #{x\ 1710}#)
+                                         #{key\ 1706}#
+                                         #{m\ 1707}#
+                                         #{r\ 1697}#
+                                         #{mod\ 1700}#))
                                      (list (#{chi\ 167}#
-                                             #{val\ 1642}#
-                                             #{r\ 1634}#
+                                             #{val\ 1705}#
+                                             #{r\ 1697}#
                                              '(())
-                                             #{mod\ 1637}#))))
+                                             #{mod\ 1700}#))))
                                  (syntax-violation
                                    'syntax-case
                                    "invalid literals list"
-                                   #{e\ 1638}#)))
-                             #{tmp\ 1640}#)
+                                   #{e\ 1701}#)))
+                             #{tmp\ 1703}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 1639}#)))
+                        #{tmp\ 1702}#)))
                   ($sc-dispatch
-                    #{tmp\ 1639}#
+                    #{tmp\ 1702}#
                     '(any any each-any . each-any))))
-               #{e\ 1638}#)))))
+               #{e\ 1701}#)))))
       (set! sc-expand
-        (lambda (#{x\ 1650}# . #{rest\ 1651}#)
-          (if (if (pair? #{x\ 1650}#)
-                (equal? (car #{x\ 1650}#) #{noexpand\ 84}#)
+        (lambda (#{x\ 1713}# . #{rest\ 1714}#)
+          (if (if (pair? #{x\ 1713}#)
+                (equal? (car #{x\ 1713}#) #{noexpand\ 84}#)
                 #f)
-            (cadr #{x\ 1650}#)
-            (let ((#{m\ 1652}#
-                    (if (null? #{rest\ 1651}#)
+            (cadr #{x\ 1713}#)
+            (let ((#{m\ 1715}#
+                    (if (null? #{rest\ 1714}#)
                       'e
-                      (car #{rest\ 1651}#)))
-                  (#{esew\ 1653}#
-                    (if (let ((#{t\ 1654}# (null? #{rest\ 1651}#)))
-                          (if #{t\ 1654}#
-                            #{t\ 1654}#
-                            (null? (cdr #{rest\ 1651}#))))
+                      (car #{rest\ 1714}#)))
+                  (#{esew\ 1716}#
+                    (if (let ((#{t\ 1717}# (null? #{rest\ 1714}#)))
+                          (if #{t\ 1717}#
+                            #{t\ 1717}#
+                            (null? (cdr #{rest\ 1714}#))))
                       '(eval)
-                      (cadr #{rest\ 1651}#))))
+                      (cadr #{rest\ 1714}#))))
               (with-fluid*
                 #{*mode*\ 85}#
-                #{m\ 1652}#
+                #{m\ 1715}#
                 (lambda ()
                   (#{chi-top\ 166}#
-                    #{x\ 1650}#
+                    #{x\ 1713}#
                     '()
                     '((top))
-                    #{m\ 1652}#
-                    #{esew\ 1653}#
+                    #{m\ 1715}#
+                    #{esew\ 1716}#
                     (cons 'hygiene
                           (module-name (current-module))))))))))
       (set! identifier?
-        (lambda (#{x\ 1655}#)
-          (#{nonsymbol-id?\ 130}# #{x\ 1655}#)))
+        (lambda (#{x\ 1718}#)
+          (#{nonsymbol-id?\ 130}# #{x\ 1718}#)))
       (set! datum->syntax
-        (lambda (#{id\ 1656}# #{datum\ 1657}#)
+        (lambda (#{id\ 1719}# #{datum\ 1720}#)
           (#{make-syntax-object\ 114}#
-            #{datum\ 1657}#
-            (#{syntax-object-wrap\ 117}# #{id\ 1656}#)
+            #{datum\ 1720}#
+            (#{syntax-object-wrap\ 117}# #{id\ 1719}#)
             #f)))
       (set! syntax->datum
-        (lambda (#{x\ 1658}#)
-          (#{strip\ 180}# #{x\ 1658}# (quote (())))))
+        (lambda (#{x\ 1721}#)
+          (#{strip\ 180}# #{x\ 1721}# (quote (())))))
       (set! generate-temporaries
-        (lambda (#{ls\ 1659}#)
+        (lambda (#{ls\ 1722}#)
           (begin
-            (let ((#{x\ 1660}# #{ls\ 1659}#))
-              (if (not (list? #{x\ 1660}#))
+            (let ((#{x\ 1723}# #{ls\ 1722}#))
+              (if (not (list? #{x\ 1723}#))
                 (syntax-violation
                   'generate-temporaries
                   "invalid argument"
-                  #{x\ 1660}#)))
-            (map (lambda (#{x\ 1661}#)
+                  #{x\ 1723}#)))
+            (map (lambda (#{x\ 1724}#)
                    (#{wrap\ 159}# (gensym) (quote ((top))) #f))
-                 #{ls\ 1659}#))))
+                 #{ls\ 1722}#))))
       (set! free-identifier=?
-        (lambda (#{x\ 1662}# #{y\ 1663}#)
+        (lambda (#{x\ 1725}# #{y\ 1726}#)
           (begin
-            (let ((#{x\ 1664}# #{x\ 1662}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1664}#))
+            (let ((#{x\ 1727}# #{x\ 1725}#))
+              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1727}#))
                 (syntax-violation
                   'free-identifier=?
                   "invalid argument"
-                  #{x\ 1664}#)))
-            (let ((#{x\ 1665}# #{y\ 1663}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1665}#))
+                  #{x\ 1727}#)))
+            (let ((#{x\ 1728}# #{y\ 1726}#))
+              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1728}#))
                 (syntax-violation
                   'free-identifier=?
                   "invalid argument"
-                  #{x\ 1665}#)))
-            (#{free-id=?\ 154}# #{x\ 1662}# #{y\ 1663}#))))
+                  #{x\ 1728}#)))
+            (#{free-id=?\ 154}# #{x\ 1725}# #{y\ 1726}#))))
       (set! bound-identifier=?
-        (lambda (#{x\ 1666}# #{y\ 1667}#)
+        (lambda (#{x\ 1729}# #{y\ 1730}#)
           (begin
-            (let ((#{x\ 1668}# #{x\ 1666}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1668}#))
+            (let ((#{x\ 1731}# #{x\ 1729}#))
+              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1731}#))
                 (syntax-violation
                   'bound-identifier=?
                   "invalid argument"
-                  #{x\ 1668}#)))
-            (let ((#{x\ 1669}# #{y\ 1667}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1669}#))
+                  #{x\ 1731}#)))
+            (let ((#{x\ 1732}# #{y\ 1730}#))
+              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1732}#))
                 (syntax-violation
                   'bound-identifier=?
                   "invalid argument"
-                  #{x\ 1669}#)))
-            (#{bound-id=?\ 155}# #{x\ 1666}# #{y\ 1667}#))))
+                  #{x\ 1732}#)))
+            (#{bound-id=?\ 155}# #{x\ 1729}# #{y\ 1730}#))))
       (set! syntax-violation
-        (lambda (#{who\ 1670}#
-                 #{message\ 1671}#
-                 #{form\ 1672}#
+        (lambda (#{who\ 1733}#
+                 #{message\ 1734}#
+                 #{form\ 1735}#
                  .
-                 #{subform\ 1673}#)
+                 #{subform\ 1736}#)
           (begin
-            (let ((#{x\ 1674}# #{who\ 1670}#))
-              (if (not ((lambda (#{x\ 1675}#)
-                          (let ((#{t\ 1676}# (not #{x\ 1675}#)))
-                            (if #{t\ 1676}#
-                              #{t\ 1676}#
-                              (let ((#{t\ 1677}# (string? #{x\ 1675}#)))
-                                (if #{t\ 1677}#
-                                  #{t\ 1677}#
-                                  (symbol? #{x\ 1675}#))))))
-                        #{x\ 1674}#))
+            (let ((#{x\ 1737}# #{who\ 1733}#))
+              (if (not ((lambda (#{x\ 1738}#)
+                          (let ((#{t\ 1739}# (not #{x\ 1738}#)))
+                            (if #{t\ 1739}#
+                              #{t\ 1739}#
+                              (let ((#{t\ 1740}# (string? #{x\ 1738}#)))
+                                (if #{t\ 1740}#
+                                  #{t\ 1740}#
+                                  (symbol? #{x\ 1738}#))))))
+                        #{x\ 1737}#))
                 (syntax-violation
                   'syntax-violation
                   "invalid argument"
-                  #{x\ 1674}#)))
-            (let ((#{x\ 1678}# #{message\ 1671}#))
-              (if (not (string? #{x\ 1678}#))
+                  #{x\ 1737}#)))
+            (let ((#{x\ 1741}# #{message\ 1734}#))
+              (if (not (string? #{x\ 1741}#))
                 (syntax-violation
                   'syntax-violation
                   "invalid argument"
-                  #{x\ 1678}#)))
+                  #{x\ 1741}#)))
             (scm-error
               'syntax-error
               'sc-expand
               (string-append
-                (if #{who\ 1670}# "~a: " "")
+                (if #{who\ 1733}# "~a: " "")
                 "~a "
-                (if (null? #{subform\ 1673}#)
+                (if (null? #{subform\ 1736}#)
                   "in ~a"
                   "in subform `~s' of `~s'"))
-              (let ((#{tail\ 1679}#
-                      (cons #{message\ 1671}#
-                            (map (lambda (#{x\ 1680}#)
-                                   (#{strip\ 180}# #{x\ 1680}# (quote (()))))
+              (let ((#{tail\ 1742}#
+                      (cons #{message\ 1734}#
+                            (map (lambda (#{x\ 1743}#)
+                                   (#{strip\ 180}# #{x\ 1743}# (quote (()))))
                                  (append
-                                   #{subform\ 1673}#
-                                   (list #{form\ 1672}#))))))
-                (if #{who\ 1670}#
-                  (cons #{who\ 1670}# #{tail\ 1679}#)
-                  #{tail\ 1679}#))
+                                   #{subform\ 1736}#
+                                   (list #{form\ 1735}#))))))
+                (if #{who\ 1733}#
+                  (cons #{who\ 1733}# #{tail\ 1742}#)
+                  #{tail\ 1742}#))
               #f))))
-      (letrec ((#{match\ 1685}#
-                 (lambda (#{e\ 1686}#
-                          #{p\ 1687}#
-                          #{w\ 1688}#
-                          #{r\ 1689}#
-                          #{mod\ 1690}#)
-                   (if (not #{r\ 1689}#)
+      (letrec ((#{match\ 1748}#
+                 (lambda (#{e\ 1749}#
+                          #{p\ 1750}#
+                          #{w\ 1751}#
+                          #{r\ 1752}#
+                          #{mod\ 1753}#)
+                   (if (not #{r\ 1752}#)
                      #f
-                     (if (eq? #{p\ 1687}# (quote any))
+                     (if (eq? #{p\ 1750}# (quote any))
                        (cons (#{wrap\ 159}#
-                               #{e\ 1686}#
-                               #{w\ 1688}#
-                               #{mod\ 1690}#)
-                             #{r\ 1689}#)
-                       (if (#{syntax-object?\ 115}# #{e\ 1686}#)
-                         (#{match*\ 1684}#
-                           (#{syntax-object-expression\ 116}# #{e\ 1686}#)
-                           #{p\ 1687}#
+                               #{e\ 1749}#
+                               #{w\ 1751}#
+                               #{mod\ 1753}#)
+                             #{r\ 1752}#)
+                       (if (#{syntax-object?\ 115}# #{e\ 1749}#)
+                         (#{match*\ 1747}#
+                           (#{syntax-object-expression\ 116}# #{e\ 1749}#)
+                           #{p\ 1750}#
                            (#{join-wraps\ 150}#
-                             #{w\ 1688}#
-                             (#{syntax-object-wrap\ 117}# #{e\ 1686}#))
-                           #{r\ 1689}#
-                           (#{syntax-object-module\ 118}# #{e\ 1686}#))
-                         (#{match*\ 1684}#
-                           #{e\ 1686}#
-                           #{p\ 1687}#
-                           #{w\ 1688}#
-                           #{r\ 1689}#
-                           #{mod\ 1690}#))))))
-               (#{match*\ 1684}#
-                 (lambda (#{e\ 1691}#
-                          #{p\ 1692}#
-                          #{w\ 1693}#
-                          #{r\ 1694}#
-                          #{mod\ 1695}#)
-                   (if (null? #{p\ 1692}#)
-                     (if (null? #{e\ 1691}#) #{r\ 1694}# #f)
-                     (if (pair? #{p\ 1692}#)
-                       (if (pair? #{e\ 1691}#)
-                         (#{match\ 1685}#
-                           (car #{e\ 1691}#)
-                           (car #{p\ 1692}#)
-                           #{w\ 1693}#
-                           (#{match\ 1685}#
-                             (cdr #{e\ 1691}#)
-                             (cdr #{p\ 1692}#)
-                             #{w\ 1693}#
-                             #{r\ 1694}#
-                             #{mod\ 1695}#)
-                           #{mod\ 1695}#)
+                             #{w\ 1751}#
+                             (#{syntax-object-wrap\ 117}# #{e\ 1749}#))
+                           #{r\ 1752}#
+                           (#{syntax-object-module\ 118}# #{e\ 1749}#))
+                         (#{match*\ 1747}#
+                           #{e\ 1749}#
+                           #{p\ 1750}#
+                           #{w\ 1751}#
+                           #{r\ 1752}#
+                           #{mod\ 1753}#))))))
+               (#{match*\ 1747}#
+                 (lambda (#{e\ 1754}#
+                          #{p\ 1755}#
+                          #{w\ 1756}#
+                          #{r\ 1757}#
+                          #{mod\ 1758}#)
+                   (if (null? #{p\ 1755}#)
+                     (if (null? #{e\ 1754}#) #{r\ 1757}# #f)
+                     (if (pair? #{p\ 1755}#)
+                       (if (pair? #{e\ 1754}#)
+                         (#{match\ 1748}#
+                           (car #{e\ 1754}#)
+                           (car #{p\ 1755}#)
+                           #{w\ 1756}#
+                           (#{match\ 1748}#
+                             (cdr #{e\ 1754}#)
+                             (cdr #{p\ 1755}#)
+                             #{w\ 1756}#
+                             #{r\ 1757}#
+                             #{mod\ 1758}#)
+                           #{mod\ 1758}#)
                          #f)
-                       (if (eq? #{p\ 1692}# (quote each-any))
-                         (let ((#{l\ 1696}#
-                                 (#{match-each-any\ 1682}#
-                                   #{e\ 1691}#
-                                   #{w\ 1693}#
-                                   #{mod\ 1695}#)))
-                           (if #{l\ 1696}#
-                             (cons #{l\ 1696}# #{r\ 1694}#)
+                       (if (eq? #{p\ 1755}# (quote each-any))
+                         (let ((#{l\ 1759}#
+                                 (#{match-each-any\ 1745}#
+                                   #{e\ 1754}#
+                                   #{w\ 1756}#
+                                   #{mod\ 1758}#)))
+                           (if #{l\ 1759}#
+                             (cons #{l\ 1759}# #{r\ 1757}#)
                              #f))
-                         (let ((#{atom-key\ 1697}# (vector-ref #{p\ 1692}# 0)))
-                           (if (memv #{atom-key\ 1697}# (quote (each)))
-                             (if (null? #{e\ 1691}#)
-                               (#{match-empty\ 1683}#
-                                 (vector-ref #{p\ 1692}# 1)
-                                 #{r\ 1694}#)
-                               (let ((#{l\ 1698}#
-                                       (#{match-each\ 1681}#
-                                         #{e\ 1691}#
-                                         (vector-ref #{p\ 1692}# 1)
-                                         #{w\ 1693}#
-                                         #{mod\ 1695}#)))
-                                 (if #{l\ 1698}#
-                                   (letrec ((#{collect\ 1699}#
-                                              (lambda (#{l\ 1700}#)
-                                                (if (null? (car #{l\ 1700}#))
-                                                  #{r\ 1694}#
-                                                  (cons (map car #{l\ 1700}#)
-                                                        (#{collect\ 1699}#
+                         (let ((#{atom-key\ 1760}# (vector-ref #{p\ 1755}# 0)))
+                           (if (memv #{atom-key\ 1760}# (quote (each)))
+                             (if (null? #{e\ 1754}#)
+                               (#{match-empty\ 1746}#
+                                 (vector-ref #{p\ 1755}# 1)
+                                 #{r\ 1757}#)
+                               (let ((#{l\ 1761}#
+                                       (#{match-each\ 1744}#
+                                         #{e\ 1754}#
+                                         (vector-ref #{p\ 1755}# 1)
+                                         #{w\ 1756}#
+                                         #{mod\ 1758}#)))
+                                 (if #{l\ 1761}#
+                                   (letrec ((#{collect\ 1762}#
+                                              (lambda (#{l\ 1763}#)
+                                                (if (null? (car #{l\ 1763}#))
+                                                  #{r\ 1757}#
+                                                  (cons (map car #{l\ 1763}#)
+                                                        (#{collect\ 1762}#
                                                           (map cdr
-                                                               #{l\ 
1700}#)))))))
-                                     (#{collect\ 1699}# #{l\ 1698}#))
+                                                               #{l\ 
1763}#)))))))
+                                     (#{collect\ 1762}# #{l\ 1761}#))
                                    #f)))
-                             (if (memv #{atom-key\ 1697}# (quote (free-id)))
-                               (if (#{id?\ 131}# #{e\ 1691}#)
+                             (if (memv #{atom-key\ 1760}# (quote (free-id)))
+                               (if (#{id?\ 131}# #{e\ 1754}#)
                                  (if (#{free-id=?\ 154}#
                                        (#{wrap\ 159}#
-                                         #{e\ 1691}#
-                                         #{w\ 1693}#
-                                         #{mod\ 1695}#)
-                                       (vector-ref #{p\ 1692}# 1))
-                                   #{r\ 1694}#
+                                         #{e\ 1754}#
+                                         #{w\ 1756}#
+                                         #{mod\ 1758}#)
+                                       (vector-ref #{p\ 1755}# 1))
+                                   #{r\ 1757}#
                                    #f)
                                  #f)
-                               (if (memv #{atom-key\ 1697}# (quote (atom)))
+                               (if (memv #{atom-key\ 1760}# (quote (atom)))
                                  (if (equal?
-                                       (vector-ref #{p\ 1692}# 1)
+                                       (vector-ref #{p\ 1755}# 1)
                                        (#{strip\ 180}#
-                                         #{e\ 1691}#
-                                         #{w\ 1693}#))
-                                   #{r\ 1694}#
+                                         #{e\ 1754}#
+                                         #{w\ 1756}#))
+                                   #{r\ 1757}#
                                    #f)
-                                 (if (memv #{atom-key\ 1697}# (quote (vector)))
-                                   (if (vector? #{e\ 1691}#)
-                                     (#{match\ 1685}#
-                                       (vector->list #{e\ 1691}#)
-                                       (vector-ref #{p\ 1692}# 1)
-                                       #{w\ 1693}#
-                                       #{r\ 1694}#
-                                       #{mod\ 1695}#)
+                                 (if (memv #{atom-key\ 1760}# (quote (vector)))
+                                   (if (vector? #{e\ 1754}#)
+                                     (#{match\ 1748}#
+                                       (vector->list #{e\ 1754}#)
+                                       (vector-ref #{p\ 1755}# 1)
+                                       #{w\ 1756}#
+                                       #{r\ 1757}#
+                                       #{mod\ 1758}#)
                                      #f)))))))))))
-               (#{match-empty\ 1683}#
-                 (lambda (#{p\ 1701}# #{r\ 1702}#)
-                   (if (null? #{p\ 1701}#)
-                     #{r\ 1702}#
-                     (if (eq? #{p\ 1701}# (quote any))
-                       (cons (quote ()) #{r\ 1702}#)
-                       (if (pair? #{p\ 1701}#)
-                         (#{match-empty\ 1683}#
-                           (car #{p\ 1701}#)
-                           (#{match-empty\ 1683}#
-                             (cdr #{p\ 1701}#)
-                             #{r\ 1702}#))
-                         (if (eq? #{p\ 1701}# (quote each-any))
-                           (cons (quote ()) #{r\ 1702}#)
-                           (let ((#{atom-key\ 1703}#
-                                   (vector-ref #{p\ 1701}# 0)))
-                             (if (memv #{atom-key\ 1703}# (quote (each)))
-                               (#{match-empty\ 1683}#
-                                 (vector-ref #{p\ 1701}# 1)
-                                 #{r\ 1702}#)
-                               (if (memv #{atom-key\ 1703}#
+               (#{match-empty\ 1746}#
+                 (lambda (#{p\ 1764}# #{r\ 1765}#)
+                   (if (null? #{p\ 1764}#)
+                     #{r\ 1765}#
+                     (if (eq? #{p\ 1764}# (quote any))
+                       (cons (quote ()) #{r\ 1765}#)
+                       (if (pair? #{p\ 1764}#)
+                         (#{match-empty\ 1746}#
+                           (car #{p\ 1764}#)
+                           (#{match-empty\ 1746}#
+                             (cdr #{p\ 1764}#)
+                             #{r\ 1765}#))
+                         (if (eq? #{p\ 1764}# (quote each-any))
+                           (cons (quote ()) #{r\ 1765}#)
+                           (let ((#{atom-key\ 1766}#
+                                   (vector-ref #{p\ 1764}# 0)))
+                             (if (memv #{atom-key\ 1766}# (quote (each)))
+                               (#{match-empty\ 1746}#
+                                 (vector-ref #{p\ 1764}# 1)
+                                 #{r\ 1765}#)
+                               (if (memv #{atom-key\ 1766}#
                                          '(free-id atom))
-                                 #{r\ 1702}#
-                                 (if (memv #{atom-key\ 1703}# (quote (vector)))
-                                   (#{match-empty\ 1683}#
-                                     (vector-ref #{p\ 1701}# 1)
-                                     #{r\ 1702}#)))))))))))
-               (#{match-each-any\ 1682}#
-                 (lambda (#{e\ 1704}# #{w\ 1705}# #{mod\ 1706}#)
-                   (if (pair? #{e\ 1704}#)
-                     (let ((#{l\ 1707}#
-                             (#{match-each-any\ 1682}#
-                               (cdr #{e\ 1704}#)
-                               #{w\ 1705}#
-                               #{mod\ 1706}#)))
-                       (if #{l\ 1707}#
+                                 #{r\ 1765}#
+                                 (if (memv #{atom-key\ 1766}# (quote (vector)))
+                                   (#{match-empty\ 1746}#
+                                     (vector-ref #{p\ 1764}# 1)
+                                     #{r\ 1765}#)))))))))))
+               (#{match-each-any\ 1745}#
+                 (lambda (#{e\ 1767}# #{w\ 1768}# #{mod\ 1769}#)
+                   (if (pair? #{e\ 1767}#)
+                     (let ((#{l\ 1770}#
+                             (#{match-each-any\ 1745}#
+                               (cdr #{e\ 1767}#)
+                               #{w\ 1768}#
+                               #{mod\ 1769}#)))
+                       (if #{l\ 1770}#
                          (cons (#{wrap\ 159}#
-                                 (car #{e\ 1704}#)
-                                 #{w\ 1705}#
-                                 #{mod\ 1706}#)
-                               #{l\ 1707}#)
+                                 (car #{e\ 1767}#)
+                                 #{w\ 1768}#
+                                 #{mod\ 1769}#)
+                               #{l\ 1770}#)
                          #f))
-                     (if (null? #{e\ 1704}#)
+                     (if (null? #{e\ 1767}#)
                        '()
-                       (if (#{syntax-object?\ 115}# #{e\ 1704}#)
-                         (#{match-each-any\ 1682}#
-                           (#{syntax-object-expression\ 116}# #{e\ 1704}#)
+                       (if (#{syntax-object?\ 115}# #{e\ 1767}#)
+                         (#{match-each-any\ 1745}#
+                           (#{syntax-object-expression\ 116}# #{e\ 1767}#)
                            (#{join-wraps\ 150}#
-                             #{w\ 1705}#
-                             (#{syntax-object-wrap\ 117}# #{e\ 1704}#))
-                           #{mod\ 1706}#)
+                             #{w\ 1768}#
+                             (#{syntax-object-wrap\ 117}# #{e\ 1767}#))
+                           #{mod\ 1769}#)
                          #f)))))
-               (#{match-each\ 1681}#
-                 (lambda (#{e\ 1708}#
-                          #{p\ 1709}#
-                          #{w\ 1710}#
-                          #{mod\ 1711}#)
-                   (if (pair? #{e\ 1708}#)
-                     (let ((#{first\ 1712}#
-                             (#{match\ 1685}#
-                               (car #{e\ 1708}#)
-                               #{p\ 1709}#
-                               #{w\ 1710}#
+               (#{match-each\ 1744}#
+                 (lambda (#{e\ 1771}#
+                          #{p\ 1772}#
+                          #{w\ 1773}#
+                          #{mod\ 1774}#)
+                   (if (pair? #{e\ 1771}#)
+                     (let ((#{first\ 1775}#
+                             (#{match\ 1748}#
+                               (car #{e\ 1771}#)
+                               #{p\ 1772}#
+                               #{w\ 1773}#
                                '()
-                               #{mod\ 1711}#)))
-                       (if #{first\ 1712}#
-                         (let ((#{rest\ 1713}#
-                                 (#{match-each\ 1681}#
-                                   (cdr #{e\ 1708}#)
-                                   #{p\ 1709}#
-                                   #{w\ 1710}#
-                                   #{mod\ 1711}#)))
-                           (if #{rest\ 1713}#
-                             (cons #{first\ 1712}# #{rest\ 1713}#)
+                               #{mod\ 1774}#)))
+                       (if #{first\ 1775}#
+                         (let ((#{rest\ 1776}#
+                                 (#{match-each\ 1744}#
+                                   (cdr #{e\ 1771}#)
+                                   #{p\ 1772}#
+                                   #{w\ 1773}#
+                                   #{mod\ 1774}#)))
+                           (if #{rest\ 1776}#
+                             (cons #{first\ 1775}# #{rest\ 1776}#)
                              #f))
                          #f))
-                     (if (null? #{e\ 1708}#)
+                     (if (null? #{e\ 1771}#)
                        '()
-                       (if (#{syntax-object?\ 115}# #{e\ 1708}#)
-                         (#{match-each\ 1681}#
-                           (#{syntax-object-expression\ 116}# #{e\ 1708}#)
-                           #{p\ 1709}#
+                       (if (#{syntax-object?\ 115}# #{e\ 1771}#)
+                         (#{match-each\ 1744}#
+                           (#{syntax-object-expression\ 116}# #{e\ 1771}#)
+                           #{p\ 1772}#
                            (#{join-wraps\ 150}#
-                             #{w\ 1710}#
-                             (#{syntax-object-wrap\ 117}# #{e\ 1708}#))
-                           (#{syntax-object-module\ 118}# #{e\ 1708}#))
+                             #{w\ 1773}#
+                             (#{syntax-object-wrap\ 117}# #{e\ 1771}#))
+                           (#{syntax-object-module\ 118}# #{e\ 1771}#))
                          #f))))))
         (set! $sc-dispatch
-          (lambda (#{e\ 1714}# #{p\ 1715}#)
-            (if (eq? #{p\ 1715}# (quote any))
-              (list #{e\ 1714}#)
-              (if (#{syntax-object?\ 115}# #{e\ 1714}#)
-                (#{match*\ 1684}#
-                  (#{syntax-object-expression\ 116}# #{e\ 1714}#)
-                  #{p\ 1715}#
-                  (#{syntax-object-wrap\ 117}# #{e\ 1714}#)
+          (lambda (#{e\ 1777}# #{p\ 1778}#)
+            (if (eq? #{p\ 1778}# (quote any))
+              (list #{e\ 1777}#)
+              (if (#{syntax-object?\ 115}# #{e\ 1777}#)
+                (#{match*\ 1747}#
+                  (#{syntax-object-expression\ 116}# #{e\ 1777}#)
+                  #{p\ 1778}#
+                  (#{syntax-object-wrap\ 117}# #{e\ 1777}#)
                   '()
-                  (#{syntax-object-module\ 118}# #{e\ 1714}#))
-                (#{match*\ 1684}#
-                  #{e\ 1714}#
-                  #{p\ 1715}#
+                  (#{syntax-object-module\ 118}# #{e\ 1777}#))
+                (#{match*\ 1747}#
+                  #{e\ 1777}#
+                  #{p\ 1778}#
                   '(())
                   '()
                   #f)))))))))
@@ -11400,11 +11629,11 @@
 (define with-syntax
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1716}#)
-      ((lambda (#{tmp\ 1717}#)
-         ((lambda (#{tmp\ 1718}#)
-            (if #{tmp\ 1718}#
-              (apply (lambda (#{_\ 1719}# #{e1\ 1720}# #{e2\ 1721}#)
+    (lambda (#{x\ 1779}#)
+      ((lambda (#{tmp\ 1780}#)
+         ((lambda (#{tmp\ 1781}#)
+            (if #{tmp\ 1781}#
+              (apply (lambda (#{_\ 1782}# #{e1\ 1783}# #{e2\ 1784}#)
                        (cons '#(syntax-object
                                 begin
                                 ((top)
@@ -11415,15 +11644,15 @@
                                  #(ribcage () () ())
                                  #(ribcage #(x) #((top)) #("i")))
                                 (hygiene guile))
-                             (cons #{e1\ 1720}# #{e2\ 1721}#)))
-                     #{tmp\ 1718}#)
-              ((lambda (#{tmp\ 1723}#)
-                 (if #{tmp\ 1723}#
-                   (apply (lambda (#{_\ 1724}#
-                                   #{out\ 1725}#
-                                   #{in\ 1726}#
-                                   #{e1\ 1727}#
-                                   #{e2\ 1728}#)
+                             (cons #{e1\ 1783}# #{e2\ 1784}#)))
+                     #{tmp\ 1781}#)
+              ((lambda (#{tmp\ 1786}#)
+                 (if #{tmp\ 1786}#
+                   (apply (lambda (#{_\ 1787}#
+                                   #{out\ 1788}#
+                                   #{in\ 1789}#
+                                   #{e1\ 1790}#
+                                   #{e2\ 1791}#)
                             (list '#(syntax-object
                                      syntax-case
                                      ((top)
@@ -11434,9 +11663,9 @@
                                       #(ribcage () () ())
                                       #(ribcage #(x) #((top)) #("i")))
                                      (hygiene guile))
-                                  #{in\ 1726}#
+                                  #{in\ 1789}#
                                   '()
-                                  (list #{out\ 1725}#
+                                  (list #{out\ 1788}#
                                         (cons '#(syntax-object
                                                  begin
                                                  ((top)
@@ -11454,16 +11683,16 @@
                                                     #((top))
                                                     #("i")))
                                                  (hygiene guile))
-                                              (cons #{e1\ 1727}#
-                                                    #{e2\ 1728}#)))))
-                          #{tmp\ 1723}#)
-                   ((lambda (#{tmp\ 1730}#)
-                      (if #{tmp\ 1730}#
-                        (apply (lambda (#{_\ 1731}#
-                                        #{out\ 1732}#
-                                        #{in\ 1733}#
-                                        #{e1\ 1734}#
-                                        #{e2\ 1735}#)
+                                              (cons #{e1\ 1790}#
+                                                    #{e2\ 1791}#)))))
+                          #{tmp\ 1786}#)
+                   ((lambda (#{tmp\ 1793}#)
+                      (if #{tmp\ 1793}#
+                        (apply (lambda (#{_\ 1794}#
+                                        #{out\ 1795}#
+                                        #{in\ 1796}#
+                                        #{e1\ 1797}#
+                                        #{e2\ 1798}#)
                                  (list '#(syntax-object
                                           syntax-case
                                           ((top)
@@ -11491,9 +11720,9 @@
                                                    #((top))
                                                    #("i")))
                                                 (hygiene guile))
-                                             #{in\ 1733}#)
+                                             #{in\ 1796}#)
                                        '()
-                                       (list #{out\ 1732}#
+                                       (list #{out\ 1795}#
                                              (cons '#(syntax-object
                                                       begin
                                                       ((top)
@@ -11515,36 +11744,36 @@
                                                          #((top))
                                                          #("i")))
                                                       (hygiene guile))
-                                                   (cons #{e1\ 1734}#
-                                                         #{e2\ 1735}#)))))
-                               #{tmp\ 1730}#)
+                                                   (cons #{e1\ 1797}#
+                                                         #{e2\ 1798}#)))))
+                               #{tmp\ 1793}#)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp\ 1717}#)))
+                          #{tmp\ 1780}#)))
                     ($sc-dispatch
-                      #{tmp\ 1717}#
+                      #{tmp\ 1780}#
                       '(any #(each (any any)) any . each-any)))))
                ($sc-dispatch
-                 #{tmp\ 1717}#
+                 #{tmp\ 1780}#
                  '(any ((any any)) any . each-any)))))
           ($sc-dispatch
-            #{tmp\ 1717}#
+            #{tmp\ 1780}#
             '(any () any . each-any))))
-       #{x\ 1716}#))))
+       #{x\ 1779}#))))
 
 (define syntax-rules
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1739}#)
-      ((lambda (#{tmp\ 1740}#)
-         ((lambda (#{tmp\ 1741}#)
-            (if #{tmp\ 1741}#
-              (apply (lambda (#{_\ 1742}#
-                              #{k\ 1743}#
-                              #{keyword\ 1744}#
-                              #{pattern\ 1745}#
-                              #{template\ 1746}#)
+    (lambda (#{x\ 1802}#)
+      ((lambda (#{tmp\ 1803}#)
+         ((lambda (#{tmp\ 1804}#)
+            (if #{tmp\ 1804}#
+              (apply (lambda (#{_\ 1805}#
+                              #{k\ 1806}#
+                              #{keyword\ 1807}#
+                              #{pattern\ 1808}#
+                              #{template\ 1809}#)
                        (list '#(syntax-object
                                 lambda
                                 ((top)
@@ -11585,9 +11814,9 @@
                                              #(ribcage () () ())
                                              #(ribcage #(x) #((top)) #("i")))
                                             (hygiene guile))
-                                         (cons #{k\ 1743}#
-                                               (map (lambda (#{tmp\ 1749}#
-                                                             #{tmp\ 1748}#)
+                                         (cons #{k\ 1806}#
+                                               (map (lambda (#{tmp\ 1812}#
+                                                             #{tmp\ 1811}#)
                                                       (list (cons 
'#(syntax-object
                                                                      dummy
                                                                      ((top)
@@ -11617,7 +11846,7 @@
                                                                         
#("i")))
                                                                      (hygiene
                                                                        guile))
-                                                                  #{tmp\ 
1748}#)
+                                                                  #{tmp\ 
1811}#)
                                                             (list 
'#(syntax-object
                                                                      syntax
                                                                      ((top)
@@ -11647,43 +11876,43 @@
                                                                         
#("i")))
                                                                      (hygiene
                                                                        guile))
-                                                                  #{tmp\ 
1749}#)))
-                                                    #{template\ 1746}#
-                                                    #{pattern\ 1745}#))))))
-                     #{tmp\ 1741}#)
+                                                                  #{tmp\ 
1812}#)))
+                                                    #{template\ 1809}#
+                                                    #{pattern\ 1808}#))))))
+                     #{tmp\ 1804}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1740}#)))
+                #{tmp\ 1803}#)))
           ($sc-dispatch
-            #{tmp\ 1740}#
+            #{tmp\ 1803}#
             '(any each-any . #(each ((any . any) any))))))
-       #{x\ 1739}#))))
+       #{x\ 1802}#))))
 
 (define let*
   (make-extended-syncase-macro
     (module-ref (current-module) (quote let*))
     'macro
-    (lambda (#{x\ 1750}#)
-      ((lambda (#{tmp\ 1751}#)
-         ((lambda (#{tmp\ 1752}#)
-            (if (if #{tmp\ 1752}#
-                  (apply (lambda (#{let*\ 1753}#
-                                  #{x\ 1754}#
-                                  #{v\ 1755}#
-                                  #{e1\ 1756}#
-                                  #{e2\ 1757}#)
-                           (and-map identifier? #{x\ 1754}#))
-                         #{tmp\ 1752}#)
+    (lambda (#{x\ 1813}#)
+      ((lambda (#{tmp\ 1814}#)
+         ((lambda (#{tmp\ 1815}#)
+            (if (if #{tmp\ 1815}#
+                  (apply (lambda (#{let*\ 1816}#
+                                  #{x\ 1817}#
+                                  #{v\ 1818}#
+                                  #{e1\ 1819}#
+                                  #{e2\ 1820}#)
+                           (and-map identifier? #{x\ 1817}#))
+                         #{tmp\ 1815}#)
                   #f)
-              (apply (lambda (#{let*\ 1759}#
-                              #{x\ 1760}#
-                              #{v\ 1761}#
-                              #{e1\ 1762}#
-                              #{e2\ 1763}#)
-                       (letrec ((#{f\ 1764}#
-                                  (lambda (#{bindings\ 1765}#)
-                                    (if (null? #{bindings\ 1765}#)
+              (apply (lambda (#{let*\ 1822}#
+                              #{x\ 1823}#
+                              #{v\ 1824}#
+                              #{e1\ 1825}#
+                              #{e2\ 1826}#)
+                       (letrec ((#{f\ 1827}#
+                                  (lambda (#{bindings\ 1828}#)
+                                    (if (null? #{bindings\ 1828}#)
                                       (cons '#(syntax-object
                                                let
                                                ((top)
@@ -11707,13 +11936,13 @@
                                                   #("i")))
                                                (hygiene guile))
                                             (cons '()
-                                                  (cons #{e1\ 1762}#
-                                                        #{e2\ 1763}#)))
-                                      ((lambda (#{tmp\ 1769}#)
-                                         ((lambda (#{tmp\ 1770}#)
-                                            (if #{tmp\ 1770}#
-                                              (apply (lambda (#{body\ 1771}#
-                                                              #{binding\ 
1772}#)
+                                                  (cons #{e1\ 1825}#
+                                                        #{e2\ 1826}#)))
+                                      ((lambda (#{tmp\ 1832}#)
+                                         ((lambda (#{tmp\ 1833}#)
+                                            (if #{tmp\ 1833}#
+                                              (apply (lambda (#{body\ 1834}#
+                                                              #{binding\ 
1835}#)
                                                        (list '#(syntax-object
                                                                 let
                                                                 ((top)
@@ -11759,52 +11988,52 @@
                                                                    #("i")))
                                                                 (hygiene
                                                                   guile))
-                                                             (list #{binding\ 
1772}#)
-                                                             #{body\ 1771}#))
-                                                     #{tmp\ 1770}#)
+                                                             (list #{binding\ 
1835}#)
+                                                             #{body\ 1834}#))
+                                                     #{tmp\ 1833}#)
                                               (syntax-violation
                                                 #f
                                                 "source expression failed to 
match any pattern"
-                                                #{tmp\ 1769}#)))
+                                                #{tmp\ 1832}#)))
                                           ($sc-dispatch
-                                            #{tmp\ 1769}#
+                                            #{tmp\ 1832}#
                                             '(any any))))
-                                       (list (#{f\ 1764}#
-                                               (cdr #{bindings\ 1765}#))
-                                             (car #{bindings\ 1765}#)))))))
-                         (#{f\ 1764}# (map list #{x\ 1760}# #{v\ 1761}#))))
-                     #{tmp\ 1752}#)
+                                       (list (#{f\ 1827}#
+                                               (cdr #{bindings\ 1828}#))
+                                             (car #{bindings\ 1828}#)))))))
+                         (#{f\ 1827}# (map list #{x\ 1823}# #{v\ 1824}#))))
+                     #{tmp\ 1815}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1751}#)))
+                #{tmp\ 1814}#)))
           ($sc-dispatch
-            #{tmp\ 1751}#
+            #{tmp\ 1814}#
             '(any #(each (any any)) any . each-any))))
-       #{x\ 1750}#))))
+       #{x\ 1813}#))))
 
 (define do
   (make-extended-syncase-macro
     (module-ref (current-module) (quote do))
     'macro
-    (lambda (#{orig-x\ 1773}#)
-      ((lambda (#{tmp\ 1774}#)
-         ((lambda (#{tmp\ 1775}#)
-            (if #{tmp\ 1775}#
-              (apply (lambda (#{_\ 1776}#
-                              #{var\ 1777}#
-                              #{init\ 1778}#
-                              #{step\ 1779}#
-                              #{e0\ 1780}#
-                              #{e1\ 1781}#
-                              #{c\ 1782}#)
-                       ((lambda (#{tmp\ 1783}#)
-                          ((lambda (#{tmp\ 1784}#)
-                             (if #{tmp\ 1784}#
-                               (apply (lambda (#{step\ 1785}#)
-                                        ((lambda (#{tmp\ 1786}#)
-                                           ((lambda (#{tmp\ 1787}#)
-                                              (if #{tmp\ 1787}#
+    (lambda (#{orig-x\ 1836}#)
+      ((lambda (#{tmp\ 1837}#)
+         ((lambda (#{tmp\ 1838}#)
+            (if #{tmp\ 1838}#
+              (apply (lambda (#{_\ 1839}#
+                              #{var\ 1840}#
+                              #{init\ 1841}#
+                              #{step\ 1842}#
+                              #{e0\ 1843}#
+                              #{e1\ 1844}#
+                              #{c\ 1845}#)
+                       ((lambda (#{tmp\ 1846}#)
+                          ((lambda (#{tmp\ 1847}#)
+                             (if #{tmp\ 1847}#
+                               (apply (lambda (#{step\ 1848}#)
+                                        ((lambda (#{tmp\ 1849}#)
+                                           ((lambda (#{tmp\ 1850}#)
+                                              (if #{tmp\ 1850}#
                                                 (apply (lambda ()
                                                          (list '#(syntax-object
                                                                   let
@@ -11885,8 +12114,8 @@
                                                                   (hygiene
                                                                     guile))
                                                                (map list
-                                                                    #{var\ 
1777}#
-                                                                    #{init\ 
1778}#)
+                                                                    #{var\ 
1840}#
+                                                                    #{init\ 
1841}#)
                                                                (list 
'#(syntax-object
                                                                         if
                                                                         ((top)
@@ -11965,7 +12194,7 @@
                                                                                
  #("i")))
                                                                               
(hygiene
                                                                                
 guile))
-                                                                           
#{e0\ 1780}#)
+                                                                           
#{e0\ 1843}#)
                                                                      (cons 
'#(syntax-object
                                                                               
begin
                                                                               
((top)
@@ -12006,7 +12235,7 @@
                                                                               
(hygiene
                                                                                
 guile))
                                                                            
(append
-                                                                             
#{c\ 1782}#
+                                                                             
#{c\ 1845}#
                                                                              
(list (cons '#(syntax-object
                                                                                
             doloop
                                                                                
             ((top)
@@ -12046,12 +12275,12 @@
                                                                                
                #("i")))
                                                                                
             (hygiene
                                                                                
               guile))
-                                                                               
          #{step\ 1785}#)))))))
-                                                       #{tmp\ 1787}#)
-                                                ((lambda (#{tmp\ 1792}#)
-                                                   (if #{tmp\ 1792}#
-                                                     (apply (lambda (#{e1\ 
1793}#
-                                                                     #{e2\ 
1794}#)
+                                                                               
          #{step\ 1848}#)))))))
+                                                       #{tmp\ 1850}#)
+                                                ((lambda (#{tmp\ 1855}#)
+                                                   (if #{tmp\ 1855}#
+                                                     (apply (lambda (#{e1\ 
1856}#
+                                                                     #{e2\ 
1857}#)
                                                               (list 
'#(syntax-object
                                                                        let
                                                                        ((top)
@@ -12145,8 +12374,8 @@
                                                                        (hygiene
                                                                          
guile))
                                                                     (map list
-                                                                         
#{var\ 1777}#
-                                                                         
#{init\ 1778}#)
+                                                                         
#{var\ 1840}#
+                                                                         
#{init\ 1841}#)
                                                                     (list 
'#(syntax-object
                                                                              if
                                                                              
((top)
@@ -12193,7 +12422,7 @@
                                                                                
 #("i")))
                                                                              
(hygiene
                                                                                
guile))
-                                                                          
#{e0\ 1780}#
+                                                                          
#{e0\ 1843}#
                                                                           
(cons '#(syntax-object
                                                                                
    begin
                                                                                
    ((top)
@@ -12240,8 +12469,8 @@
                                                                                
       #("i")))
                                                                                
    (hygiene
                                                                                
      guile))
-                                                                               
 (cons #{e1\ 1793}#
-                                                                               
       #{e2\ 1794}#))
+                                                                               
 (cons #{e1\ 1856}#
+                                                                               
       #{e2\ 1857}#))
                                                                           
(cons '#(syntax-object
                                                                                
    begin
                                                                                
    ((top)
@@ -12289,7 +12518,7 @@
                                                                                
    (hygiene
                                                                                
      guile))
                                                                                
 (append
-                                                                               
   #{c\ 1782}#
+                                                                               
   #{c\ 1845}#
                                                                                
   (list (cons '#(syntax-object
                                                                                
                  doloop
                                                                                
                  ((top)
@@ -12336,81 +12565,81 @@
                                                                                
                     #("i")))
                                                                                
                  (hygiene
                                                                                
                    guile))
-                                                                               
               #{step\ 1785}#)))))))
-                                                            #{tmp\ 1792}#)
+                                                                               
               #{step\ 1848}#)))))))
+                                                            #{tmp\ 1855}#)
                                                      (syntax-violation
                                                        #f
                                                        "source expression 
failed to match any pattern"
-                                                       #{tmp\ 1786}#)))
+                                                       #{tmp\ 1849}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 1786}#
+                                                   #{tmp\ 1849}#
                                                    '(any . each-any)))))
                                             ($sc-dispatch
-                                              #{tmp\ 1786}#
+                                              #{tmp\ 1849}#
                                               '())))
-                                         #{e1\ 1781}#))
-                                      #{tmp\ 1784}#)
+                                         #{e1\ 1844}#))
+                                      #{tmp\ 1847}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp\ 1783}#)))
-                           ($sc-dispatch #{tmp\ 1783}# (quote each-any))))
-                        (map (lambda (#{v\ 1801}# #{s\ 1802}#)
-                               ((lambda (#{tmp\ 1803}#)
-                                  ((lambda (#{tmp\ 1804}#)
-                                     (if #{tmp\ 1804}#
-                                       (apply (lambda () #{v\ 1801}#)
-                                              #{tmp\ 1804}#)
-                                       ((lambda (#{tmp\ 1805}#)
-                                          (if #{tmp\ 1805}#
-                                            (apply (lambda (#{e\ 1806}#)
-                                                     #{e\ 1806}#)
-                                                   #{tmp\ 1805}#)
-                                            ((lambda (#{_\ 1807}#)
+                                 #{tmp\ 1846}#)))
+                           ($sc-dispatch #{tmp\ 1846}# (quote each-any))))
+                        (map (lambda (#{v\ 1864}# #{s\ 1865}#)
+                               ((lambda (#{tmp\ 1866}#)
+                                  ((lambda (#{tmp\ 1867}#)
+                                     (if #{tmp\ 1867}#
+                                       (apply (lambda () #{v\ 1864}#)
+                                              #{tmp\ 1867}#)
+                                       ((lambda (#{tmp\ 1868}#)
+                                          (if #{tmp\ 1868}#
+                                            (apply (lambda (#{e\ 1869}#)
+                                                     #{e\ 1869}#)
+                                                   #{tmp\ 1868}#)
+                                            ((lambda (#{_\ 1870}#)
                                                (syntax-violation
                                                  'do
                                                  "bad step expression"
-                                                 #{orig-x\ 1773}#
-                                                 #{s\ 1802}#))
-                                             #{tmp\ 1803}#)))
+                                                 #{orig-x\ 1836}#
+                                                 #{s\ 1865}#))
+                                             #{tmp\ 1866}#)))
                                         ($sc-dispatch
-                                          #{tmp\ 1803}#
+                                          #{tmp\ 1866}#
                                           '(any)))))
-                                   ($sc-dispatch #{tmp\ 1803}# (quote ()))))
-                                #{s\ 1802}#))
-                             #{var\ 1777}#
-                             #{step\ 1779}#)))
-                     #{tmp\ 1775}#)
+                                   ($sc-dispatch #{tmp\ 1866}# (quote ()))))
+                                #{s\ 1865}#))
+                             #{var\ 1840}#
+                             #{step\ 1842}#)))
+                     #{tmp\ 1838}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1774}#)))
+                #{tmp\ 1837}#)))
           ($sc-dispatch
-            #{tmp\ 1774}#
+            #{tmp\ 1837}#
             '(any #(each (any any . any))
                   (any . each-any)
                   .
                   each-any))))
-       #{orig-x\ 1773}#))))
+       #{orig-x\ 1836}#))))
 
 (define quasiquote
   (make-extended-syncase-macro
     (module-ref (current-module) (quote quasiquote))
     'macro
-    (letrec ((#{quasicons\ 1810}#
-               (lambda (#{x\ 1814}# #{y\ 1815}#)
-                 ((lambda (#{tmp\ 1816}#)
-                    ((lambda (#{tmp\ 1817}#)
-                       (if #{tmp\ 1817}#
-                         (apply (lambda (#{x\ 1818}# #{y\ 1819}#)
-                                  ((lambda (#{tmp\ 1820}#)
-                                     ((lambda (#{tmp\ 1821}#)
-                                        (if #{tmp\ 1821}#
-                                          (apply (lambda (#{dy\ 1822}#)
-                                                   ((lambda (#{tmp\ 1823}#)
-                                                      ((lambda (#{tmp\ 1824}#)
-                                                         (if #{tmp\ 1824}#
-                                                           (apply (lambda 
(#{dx\ 1825}#)
+    (letrec ((#{quasicons\ 1873}#
+               (lambda (#{x\ 1877}# #{y\ 1878}#)
+                 ((lambda (#{tmp\ 1879}#)
+                    ((lambda (#{tmp\ 1880}#)
+                       (if #{tmp\ 1880}#
+                         (apply (lambda (#{x\ 1881}# #{y\ 1882}#)
+                                  ((lambda (#{tmp\ 1883}#)
+                                     ((lambda (#{tmp\ 1884}#)
+                                        (if #{tmp\ 1884}#
+                                          (apply (lambda (#{dy\ 1885}#)
+                                                   ((lambda (#{tmp\ 1886}#)
+                                                      ((lambda (#{tmp\ 1887}#)
+                                                         (if #{tmp\ 1887}#
+                                                           (apply (lambda 
(#{dx\ 1888}#)
                                                                     (list 
'#(syntax-object
                                                                              
quote
                                                                              
((top)
@@ -12459,11 +12688,11 @@
                                                                                
   "i")))
                                                                              
(hygiene
                                                                                
guile))
-                                                                          
(cons #{dx\ 1825}#
-                                                                               
 #{dy\ 1822}#)))
-                                                                  #{tmp\ 
1824}#)
-                                                           ((lambda (#{_\ 
1826}#)
-                                                              (if (null? #{dy\ 
1822}#)
+                                                                          
(cons #{dx\ 1888}#
+                                                                               
 #{dy\ 1885}#)))
+                                                                  #{tmp\ 
1887}#)
+                                                           ((lambda (#{_\ 
1889}#)
+                                                              (if (null? #{dy\ 
1885}#)
                                                                 (list 
'#(syntax-object
                                                                          list
                                                                          ((top)
@@ -12512,7 +12741,7 @@
                                                                               
"i")))
                                                                          
(hygiene
                                                                            
guile))
-                                                                      #{x\ 
1818}#)
+                                                                      #{x\ 
1881}#)
                                                                 (list 
'#(syntax-object
                                                                          cons
                                                                          ((top)
@@ -12561,11 +12790,11 @@
                                                                               
"i")))
                                                                          
(hygiene
                                                                            
guile))
-                                                                      #{x\ 
1818}#
-                                                                      #{y\ 
1819}#)))
-                                                            #{tmp\ 1823}#)))
+                                                                      #{x\ 
1881}#
+                                                                      #{y\ 
1882}#)))
+                                                            #{tmp\ 1886}#)))
                                                        ($sc-dispatch
-                                                         #{tmp\ 1823}#
+                                                         #{tmp\ 1886}#
                                                          '(#(free-id
                                                              #(syntax-object
                                                                quote
@@ -12608,11 +12837,11 @@
                                                                (hygiene
                                                                  guile)))
                                                            any))))
-                                                    #{x\ 1818}#))
-                                                 #{tmp\ 1821}#)
-                                          ((lambda (#{tmp\ 1827}#)
-                                             (if #{tmp\ 1827}#
-                                               (apply (lambda (#{stuff\ 1828}#)
+                                                    #{x\ 1881}#))
+                                                 #{tmp\ 1884}#)
+                                          ((lambda (#{tmp\ 1890}#)
+                                             (if #{tmp\ 1890}#
+                                               (apply (lambda (#{stuff\ 1891}#)
                                                         (cons '#(syntax-object
                                                                  list
                                                                  ((top)
@@ -12653,10 +12882,10 @@
                                                                       "i")))
                                                                  (hygiene
                                                                    guile))
-                                                              (cons #{x\ 1818}#
-                                                                    #{stuff\ 
1828}#)))
-                                                      #{tmp\ 1827}#)
-                                               ((lambda (#{else\ 1829}#)
+                                                              (cons #{x\ 1881}#
+                                                                    #{stuff\ 
1891}#)))
+                                                      #{tmp\ 1890}#)
+                                               ((lambda (#{else\ 1892}#)
                                                   (list '#(syntax-object
                                                            cons
                                                            ((top)
@@ -12688,11 +12917,11 @@
                                                                 "i"
                                                                 "i")))
                                                            (hygiene guile))
-                                                        #{x\ 1818}#
-                                                        #{y\ 1819}#))
-                                                #{tmp\ 1820}#)))
+                                                        #{x\ 1881}#
+                                                        #{y\ 1882}#))
+                                                #{tmp\ 1883}#)))
                                            ($sc-dispatch
-                                             #{tmp\ 1820}#
+                                             #{tmp\ 1883}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    list
@@ -12721,7 +12950,7 @@
                                                .
                                                any)))))
                                       ($sc-dispatch
-                                        #{tmp\ 1820}#
+                                        #{tmp\ 1883}#
                                         '(#(free-id
                                             #(syntax-object
                                               quote
@@ -12745,26 +12974,26 @@
                                                  #("i" "i" "i" "i")))
                                               (hygiene guile)))
                                           any))))
-                                   #{y\ 1819}#))
-                                #{tmp\ 1817}#)
+                                   #{y\ 1882}#))
+                                #{tmp\ 1880}#)
                          (syntax-violation
                            #f
                            "source expression failed to match any pattern"
-                           #{tmp\ 1816}#)))
-                     ($sc-dispatch #{tmp\ 1816}# (quote (any any)))))
-                  (list #{x\ 1814}# #{y\ 1815}#))))
-             (#{quasiappend\ 1811}#
-               (lambda (#{x\ 1830}# #{y\ 1831}#)
-                 ((lambda (#{tmp\ 1832}#)
-                    ((lambda (#{tmp\ 1833}#)
-                       (if #{tmp\ 1833}#
-                         (apply (lambda (#{x\ 1834}# #{y\ 1835}#)
-                                  ((lambda (#{tmp\ 1836}#)
-                                     ((lambda (#{tmp\ 1837}#)
-                                        (if #{tmp\ 1837}#
-                                          (apply (lambda () #{x\ 1834}#)
-                                                 #{tmp\ 1837}#)
-                                          ((lambda (#{_\ 1838}#)
+                           #{tmp\ 1879}#)))
+                     ($sc-dispatch #{tmp\ 1879}# (quote (any any)))))
+                  (list #{x\ 1877}# #{y\ 1878}#))))
+             (#{quasiappend\ 1874}#
+               (lambda (#{x\ 1893}# #{y\ 1894}#)
+                 ((lambda (#{tmp\ 1895}#)
+                    ((lambda (#{tmp\ 1896}#)
+                       (if #{tmp\ 1896}#
+                         (apply (lambda (#{x\ 1897}# #{y\ 1898}#)
+                                  ((lambda (#{tmp\ 1899}#)
+                                     ((lambda (#{tmp\ 1900}#)
+                                        (if #{tmp\ 1900}#
+                                          (apply (lambda () #{x\ 1897}#)
+                                                 #{tmp\ 1900}#)
+                                          ((lambda (#{_\ 1901}#)
                                              (list '#(syntax-object
                                                       append
                                                       ((top)
@@ -12793,11 +13022,11 @@
                                                            (top))
                                                          #("i" "i" "i" "i")))
                                                       (hygiene guile))
-                                                   #{x\ 1834}#
-                                                   #{y\ 1835}#))
-                                           #{tmp\ 1836}#)))
+                                                   #{x\ 1897}#
+                                                   #{y\ 1898}#))
+                                           #{tmp\ 1899}#)))
                                       ($sc-dispatch
-                                        #{tmp\ 1836}#
+                                        #{tmp\ 1899}#
                                         '(#(free-id
                                             #(syntax-object
                                               quote
@@ -12821,22 +13050,22 @@
                                                  #("i" "i" "i" "i")))
                                               (hygiene guile)))
                                           ()))))
-                                   #{y\ 1835}#))
-                                #{tmp\ 1833}#)
+                                   #{y\ 1898}#))
+                                #{tmp\ 1896}#)
                          (syntax-violation
                            #f
                            "source expression failed to match any pattern"
-                           #{tmp\ 1832}#)))
-                     ($sc-dispatch #{tmp\ 1832}# (quote (any any)))))
-                  (list #{x\ 1830}# #{y\ 1831}#))))
-             (#{quasivector\ 1812}#
-               (lambda (#{x\ 1839}#)
-                 ((lambda (#{tmp\ 1840}#)
-                    ((lambda (#{x\ 1841}#)
-                       ((lambda (#{tmp\ 1842}#)
-                          ((lambda (#{tmp\ 1843}#)
-                             (if #{tmp\ 1843}#
-                               (apply (lambda (#{x\ 1844}#)
+                           #{tmp\ 1895}#)))
+                     ($sc-dispatch #{tmp\ 1895}# (quote (any any)))))
+                  (list #{x\ 1893}# #{y\ 1894}#))))
+             (#{quasivector\ 1875}#
+               (lambda (#{x\ 1902}#)
+                 ((lambda (#{tmp\ 1903}#)
+                    ((lambda (#{x\ 1904}#)
+                       ((lambda (#{tmp\ 1905}#)
+                          ((lambda (#{tmp\ 1906}#)
+                             (if #{tmp\ 1906}#
+                               (apply (lambda (#{x\ 1907}#)
                                         (list '#(syntax-object
                                                  quote
                                                  ((top)
@@ -12862,11 +13091,11 @@
                                                     #((top) (top) (top) (top))
                                                     #("i" "i" "i" "i")))
                                                  (hygiene guile))
-                                              (list->vector #{x\ 1844}#)))
-                                      #{tmp\ 1843}#)
-                               ((lambda (#{tmp\ 1846}#)
-                                  (if #{tmp\ 1846}#
-                                    (apply (lambda (#{x\ 1847}#)
+                                              (list->vector #{x\ 1907}#)))
+                                      #{tmp\ 1906}#)
+                               ((lambda (#{tmp\ 1909}#)
+                                  (if #{tmp\ 1909}#
+                                    (apply (lambda (#{x\ 1910}#)
                                              (cons '#(syntax-object
                                                       vector
                                                       ((top)
@@ -12895,9 +13124,9 @@
                                                            (top))
                                                          #("i" "i" "i" "i")))
                                                       (hygiene guile))
-                                                   #{x\ 1847}#))
-                                           #{tmp\ 1846}#)
-                                    ((lambda (#{_\ 1849}#)
+                                                   #{x\ 1910}#))
+                                           #{tmp\ 1909}#)
+                                    ((lambda (#{_\ 1912}#)
                                        (list '#(syntax-object
                                                 list->vector
                                                 ((top)
@@ -12923,10 +13152,10 @@
                                                    #((top) (top) (top) (top))
                                                    #("i" "i" "i" "i")))
                                                 (hygiene guile))
-                                             #{x\ 1841}#))
-                                     #{tmp\ 1842}#)))
+                                             #{x\ 1904}#))
+                                     #{tmp\ 1905}#)))
                                 ($sc-dispatch
-                                  #{tmp\ 1842}#
+                                  #{tmp\ 1905}#
                                   '(#(free-id
                                       #(syntax-object
                                         list
@@ -12946,7 +13175,7 @@
                                     .
                                     each-any)))))
                            ($sc-dispatch
-                             #{tmp\ 1842}#
+                             #{tmp\ 1905}#
                              '(#(free-id
                                  #(syntax-object
                                    quote
@@ -12964,18 +13193,18 @@
                                       #("i" "i" "i" "i")))
                                    (hygiene guile)))
                                each-any))))
-                        #{x\ 1841}#))
-                     #{tmp\ 1840}#))
-                  #{x\ 1839}#)))
-             (#{quasi\ 1813}#
-               (lambda (#{p\ 1850}# #{lev\ 1851}#)
-                 ((lambda (#{tmp\ 1852}#)
-                    ((lambda (#{tmp\ 1853}#)
-                       (if #{tmp\ 1853}#
-                         (apply (lambda (#{p\ 1854}#)
-                                  (if (= #{lev\ 1851}# 0)
-                                    #{p\ 1854}#
-                                    (#{quasicons\ 1810}#
+                        #{x\ 1904}#))
+                     #{tmp\ 1903}#))
+                  #{x\ 1902}#)))
+             (#{quasi\ 1876}#
+               (lambda (#{p\ 1913}# #{lev\ 1914}#)
+                 ((lambda (#{tmp\ 1915}#)
+                    ((lambda (#{tmp\ 1916}#)
+                       (if #{tmp\ 1916}#
+                         (apply (lambda (#{p\ 1917}#)
+                                  (if (= #{lev\ 1914}# 0)
+                                    #{p\ 1917}#
+                                    (#{quasicons\ 1873}#
                                       '(#(syntax-object
                                           quote
                                           ((top)
@@ -13010,21 +13239,21 @@
                                              #((top) (top) (top) (top))
                                              #("i" "i" "i" "i")))
                                           (hygiene guile)))
-                                      (#{quasi\ 1813}#
-                                        (list #{p\ 1854}#)
-                                        (- #{lev\ 1851}# 1)))))
-                                #{tmp\ 1853}#)
-                         ((lambda (#{tmp\ 1855}#)
-                            (if (if #{tmp\ 1855}#
-                                  (apply (lambda (#{args\ 1856}#)
-                                           (= #{lev\ 1851}# 0))
-                                         #{tmp\ 1855}#)
+                                      (#{quasi\ 1876}#
+                                        (list #{p\ 1917}#)
+                                        (- #{lev\ 1914}# 1)))))
+                                #{tmp\ 1916}#)
+                         ((lambda (#{tmp\ 1918}#)
+                            (if (if #{tmp\ 1918}#
+                                  (apply (lambda (#{args\ 1919}#)
+                                           (= #{lev\ 1914}# 0))
+                                         #{tmp\ 1918}#)
                                   #f)
-                              (apply (lambda (#{args\ 1857}#)
+                              (apply (lambda (#{args\ 1920}#)
                                        (syntax-violation
                                          'unquote
                                          "unquote takes exactly one argument"
-                                         #{p\ 1850}#
+                                         #{p\ 1913}#
                                          (cons '#(syntax-object
                                                   unquote
                                                   ((top)
@@ -13045,19 +13274,19 @@
                                                      #((top) (top) (top) (top))
                                                      #("i" "i" "i" "i")))
                                                   (hygiene guile))
-                                               #{args\ 1857}#)))
-                                     #{tmp\ 1855}#)
-                              ((lambda (#{tmp\ 1858}#)
-                                 (if #{tmp\ 1858}#
-                                   (apply (lambda (#{p\ 1859}# #{q\ 1860}#)
-                                            (if (= #{lev\ 1851}# 0)
-                                              (#{quasiappend\ 1811}#
-                                                #{p\ 1859}#
-                                                (#{quasi\ 1813}#
-                                                  #{q\ 1860}#
-                                                  #{lev\ 1851}#))
-                                              (#{quasicons\ 1810}#
-                                                (#{quasicons\ 1810}#
+                                               #{args\ 1920}#)))
+                                     #{tmp\ 1918}#)
+                              ((lambda (#{tmp\ 1921}#)
+                                 (if #{tmp\ 1921}#
+                                   (apply (lambda (#{p\ 1922}# #{q\ 1923}#)
+                                            (if (= #{lev\ 1914}# 0)
+                                              (#{quasiappend\ 1874}#
+                                                #{p\ 1922}#
+                                                (#{quasi\ 1876}#
+                                                  #{q\ 1923}#
+                                                  #{lev\ 1914}#))
+                                              (#{quasicons\ 1873}#
+                                                (#{quasicons\ 1873}#
                                                   '(#(syntax-object
                                                       quote
                                                       ((top)
@@ -13104,26 +13333,26 @@
                                                            (top))
                                                          #("i" "i" "i" "i")))
                                                       (hygiene guile)))
-                                                  (#{quasi\ 1813}#
-                                                    (list #{p\ 1859}#)
-                                                    (- #{lev\ 1851}# 1)))
-                                                (#{quasi\ 1813}#
-                                                  #{q\ 1860}#
-                                                  #{lev\ 1851}#))))
-                                          #{tmp\ 1858}#)
-                                   ((lambda (#{tmp\ 1861}#)
-                                      (if (if #{tmp\ 1861}#
-                                            (apply (lambda (#{args\ 1862}#
-                                                            #{q\ 1863}#)
-                                                     (= #{lev\ 1851}# 0))
-                                                   #{tmp\ 1861}#)
+                                                  (#{quasi\ 1876}#
+                                                    (list #{p\ 1922}#)
+                                                    (- #{lev\ 1914}# 1)))
+                                                (#{quasi\ 1876}#
+                                                  #{q\ 1923}#
+                                                  #{lev\ 1914}#))))
+                                          #{tmp\ 1921}#)
+                                   ((lambda (#{tmp\ 1924}#)
+                                      (if (if #{tmp\ 1924}#
+                                            (apply (lambda (#{args\ 1925}#
+                                                            #{q\ 1926}#)
+                                                     (= #{lev\ 1914}# 0))
+                                                   #{tmp\ 1924}#)
                                             #f)
-                                        (apply (lambda (#{args\ 1864}#
-                                                        #{q\ 1865}#)
+                                        (apply (lambda (#{args\ 1927}#
+                                                        #{q\ 1928}#)
                                                  (syntax-violation
                                                    'unquote-splicing
                                                    "unquote-splicing takes 
exactly one argument"
-                                                   #{p\ 1850}#
+                                                   #{p\ 1913}#
                                                    (cons '#(syntax-object
                                                             unquote-splicing
                                                             ((top)
@@ -13153,12 +13382,12 @@
                                                                  "i"
                                                                  "i")))
                                                             (hygiene guile))
-                                                         #{args\ 1864}#)))
-                                               #{tmp\ 1861}#)
-                                        ((lambda (#{tmp\ 1866}#)
-                                           (if #{tmp\ 1866}#
-                                             (apply (lambda (#{p\ 1867}#)
-                                                      (#{quasicons\ 1810}#
+                                                         #{args\ 1927}#)))
+                                               #{tmp\ 1924}#)
+                                        ((lambda (#{tmp\ 1929}#)
+                                           (if #{tmp\ 1929}#
+                                             (apply (lambda (#{p\ 1930}#)
+                                                      (#{quasicons\ 1873}#
                                                         '(#(syntax-object
                                                             quote
                                                             ((top)
@@ -13217,32 +13446,32 @@
                                                                  "i"
                                                                  "i")))
                                                             (hygiene guile)))
-                                                        (#{quasi\ 1813}#
-                                                          (list #{p\ 1867}#)
-                                                          (+ #{lev\ 1851}#
+                                                        (#{quasi\ 1876}#
+                                                          (list #{p\ 1930}#)
+                                                          (+ #{lev\ 1914}#
                                                              1))))
-                                                    #{tmp\ 1866}#)
-                                             ((lambda (#{tmp\ 1868}#)
-                                                (if #{tmp\ 1868}#
-                                                  (apply (lambda (#{p\ 1869}#
-                                                                  #{q\ 1870}#)
-                                                           (#{quasicons\ 1810}#
-                                                             (#{quasi\ 1813}#
-                                                               #{p\ 1869}#
-                                                               #{lev\ 1851}#)
-                                                             (#{quasi\ 1813}#
-                                                               #{q\ 1870}#
-                                                               #{lev\ 1851}#)))
-                                                         #{tmp\ 1868}#)
-                                                  ((lambda (#{tmp\ 1871}#)
-                                                     (if #{tmp\ 1871}#
-                                                       (apply (lambda (#{x\ 
1872}#)
-                                                                
(#{quasivector\ 1812}#
-                                                                  (#{quasi\ 
1813}#
-                                                                    #{x\ 1872}#
-                                                                    #{lev\ 
1851}#)))
-                                                              #{tmp\ 1871}#)
-                                                       ((lambda (#{p\ 1874}#)
+                                                    #{tmp\ 1929}#)
+                                             ((lambda (#{tmp\ 1931}#)
+                                                (if #{tmp\ 1931}#
+                                                  (apply (lambda (#{p\ 1932}#
+                                                                  #{q\ 1933}#)
+                                                           (#{quasicons\ 1873}#
+                                                             (#{quasi\ 1876}#
+                                                               #{p\ 1932}#
+                                                               #{lev\ 1914}#)
+                                                             (#{quasi\ 1876}#
+                                                               #{q\ 1933}#
+                                                               #{lev\ 1914}#)))
+                                                         #{tmp\ 1931}#)
+                                                  ((lambda (#{tmp\ 1934}#)
+                                                     (if #{tmp\ 1934}#
+                                                       (apply (lambda (#{x\ 
1935}#)
+                                                                
(#{quasivector\ 1875}#
+                                                                  (#{quasi\ 
1876}#
+                                                                    #{x\ 1935}#
+                                                                    #{lev\ 
1914}#)))
+                                                              #{tmp\ 1934}#)
+                                                       ((lambda (#{p\ 1937}#)
                                                           (list 
'#(syntax-object
                                                                    quote
                                                                    ((top)
@@ -13275,16 +13504,16 @@
                                                                         "i")))
                                                                    (hygiene
                                                                      guile))
-                                                                #{p\ 1874}#))
-                                                        #{tmp\ 1852}#)))
+                                                                #{p\ 1937}#))
+                                                        #{tmp\ 1915}#)))
                                                    ($sc-dispatch
-                                                     #{tmp\ 1852}#
+                                                     #{tmp\ 1915}#
                                                      '#(vector each-any)))))
                                               ($sc-dispatch
-                                                #{tmp\ 1852}#
+                                                #{tmp\ 1915}#
                                                 '(any . any)))))
                                          ($sc-dispatch
-                                           #{tmp\ 1852}#
+                                           #{tmp\ 1915}#
                                            '(#(free-id
                                                #(syntax-object
                                                  quasiquote
@@ -13304,7 +13533,7 @@
                                                  (hygiene guile)))
                                              any)))))
                                     ($sc-dispatch
-                                      #{tmp\ 1852}#
+                                      #{tmp\ 1915}#
                                       '((#(free-id
                                            #(syntax-object
                                              unquote-splicing
@@ -13327,7 +13556,7 @@
                                         .
                                         any)))))
                                ($sc-dispatch
-                                 #{tmp\ 1852}#
+                                 #{tmp\ 1915}#
                                  '((#(free-id
                                       #(syntax-object
                                         unquote-splicing
@@ -13349,7 +13578,7 @@
                                    .
                                    any)))))
                           ($sc-dispatch
-                            #{tmp\ 1852}#
+                            #{tmp\ 1915}#
                             '(#(free-id
                                 #(syntax-object
                                   unquote
@@ -13367,7 +13596,7 @@
                               .
                               any)))))
                      ($sc-dispatch
-                       #{tmp\ 1852}#
+                       #{tmp\ 1915}#
                        '(#(free-id
                            #(syntax-object
                              unquote
@@ -13380,49 +13609,49 @@
                                 #("i" "i" "i" "i")))
                              (hygiene guile)))
                          any))))
-                  #{p\ 1850}#))))
-      (lambda (#{x\ 1875}#)
-        ((lambda (#{tmp\ 1876}#)
-           ((lambda (#{tmp\ 1877}#)
-              (if #{tmp\ 1877}#
-                (apply (lambda (#{_\ 1878}# #{e\ 1879}#)
-                         (#{quasi\ 1813}# #{e\ 1879}# 0))
-                       #{tmp\ 1877}#)
+                  #{p\ 1913}#))))
+      (lambda (#{x\ 1938}#)
+        ((lambda (#{tmp\ 1939}#)
+           ((lambda (#{tmp\ 1940}#)
+              (if #{tmp\ 1940}#
+                (apply (lambda (#{_\ 1941}# #{e\ 1942}#)
+                         (#{quasi\ 1876}# #{e\ 1942}# 0))
+                       #{tmp\ 1940}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 1876}#)))
-            ($sc-dispatch #{tmp\ 1876}# (quote (any any)))))
-         #{x\ 1875}#)))))
+                  #{tmp\ 1939}#)))
+            ($sc-dispatch #{tmp\ 1939}# (quote (any any)))))
+         #{x\ 1938}#)))))
 
 (define include
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1880}#)
-      (letrec ((#{read-file\ 1881}#
-                 (lambda (#{fn\ 1882}# #{k\ 1883}#)
-                   (let ((#{p\ 1884}# (open-input-file #{fn\ 1882}#)))
-                     (letrec ((#{f\ 1885}#
-                                (lambda (#{x\ 1886}#)
-                                  (if (eof-object? #{x\ 1886}#)
+    (lambda (#{x\ 1943}#)
+      (letrec ((#{read-file\ 1944}#
+                 (lambda (#{fn\ 1945}# #{k\ 1946}#)
+                   (let ((#{p\ 1947}# (open-input-file #{fn\ 1945}#)))
+                     (letrec ((#{f\ 1948}#
+                                (lambda (#{x\ 1949}#)
+                                  (if (eof-object? #{x\ 1949}#)
                                     (begin
-                                      (close-input-port #{p\ 1884}#)
+                                      (close-input-port #{p\ 1947}#)
                                       '())
                                     (cons (datum->syntax
-                                            #{k\ 1883}#
-                                            #{x\ 1886}#)
-                                          (#{f\ 1885}# (read #{p\ 1884}#)))))))
-                       (#{f\ 1885}# (read #{p\ 1884}#)))))))
-        ((lambda (#{tmp\ 1887}#)
-           ((lambda (#{tmp\ 1888}#)
-              (if #{tmp\ 1888}#
-                (apply (lambda (#{k\ 1889}# #{filename\ 1890}#)
-                         (let ((#{fn\ 1891}#
-                                 (syntax->datum #{filename\ 1890}#)))
-                           ((lambda (#{tmp\ 1892}#)
-                              ((lambda (#{tmp\ 1893}#)
-                                 (if #{tmp\ 1893}#
-                                   (apply (lambda (#{exp\ 1894}#)
+                                            #{k\ 1946}#
+                                            #{x\ 1949}#)
+                                          (#{f\ 1948}# (read #{p\ 1947}#)))))))
+                       (#{f\ 1948}# (read #{p\ 1947}#)))))))
+        ((lambda (#{tmp\ 1950}#)
+           ((lambda (#{tmp\ 1951}#)
+              (if #{tmp\ 1951}#
+                (apply (lambda (#{k\ 1952}# #{filename\ 1953}#)
+                         (let ((#{fn\ 1954}#
+                                 (syntax->datum #{filename\ 1953}#)))
+                           ((lambda (#{tmp\ 1955}#)
+                              ((lambda (#{tmp\ 1956}#)
+                                 (if #{tmp\ 1956}#
+                                   (apply (lambda (#{exp\ 1957}#)
                                             (cons '#(syntax-object
                                                      begin
                                                      ((top)
@@ -13449,76 +13678,76 @@
                                                         #((top))
                                                         #("i")))
                                                      (hygiene guile))
-                                                  #{exp\ 1894}#))
-                                          #{tmp\ 1893}#)
+                                                  #{exp\ 1957}#))
+                                          #{tmp\ 1956}#)
                                    (syntax-violation
                                      #f
                                      "source expression failed to match any 
pattern"
-                                     #{tmp\ 1892}#)))
-                               ($sc-dispatch #{tmp\ 1892}# (quote each-any))))
-                            (#{read-file\ 1881}# #{fn\ 1891}# #{k\ 1889}#))))
-                       #{tmp\ 1888}#)
+                                     #{tmp\ 1955}#)))
+                               ($sc-dispatch #{tmp\ 1955}# (quote each-any))))
+                            (#{read-file\ 1944}# #{fn\ 1954}# #{k\ 1952}#))))
+                       #{tmp\ 1951}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 1887}#)))
-            ($sc-dispatch #{tmp\ 1887}# (quote (any any)))))
-         #{x\ 1880}#)))))
+                  #{tmp\ 1950}#)))
+            ($sc-dispatch #{tmp\ 1950}# (quote (any any)))))
+         #{x\ 1943}#)))))
 
 (define unquote
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1896}#)
-      ((lambda (#{tmp\ 1897}#)
-         ((lambda (#{tmp\ 1898}#)
-            (if #{tmp\ 1898}#
-              (apply (lambda (#{_\ 1899}# #{e\ 1900}#)
+    (lambda (#{x\ 1959}#)
+      ((lambda (#{tmp\ 1960}#)
+         ((lambda (#{tmp\ 1961}#)
+            (if #{tmp\ 1961}#
+              (apply (lambda (#{_\ 1962}# #{e\ 1963}#)
                        (syntax-violation
                          'unquote
                          "expression not valid outside of quasiquote"
-                         #{x\ 1896}#))
-                     #{tmp\ 1898}#)
+                         #{x\ 1959}#))
+                     #{tmp\ 1961}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1897}#)))
-          ($sc-dispatch #{tmp\ 1897}# (quote (any any)))))
-       #{x\ 1896}#))))
+                #{tmp\ 1960}#)))
+          ($sc-dispatch #{tmp\ 1960}# (quote (any any)))))
+       #{x\ 1959}#))))
 
 (define unquote-splicing
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1901}#)
-      ((lambda (#{tmp\ 1902}#)
-         ((lambda (#{tmp\ 1903}#)
-            (if #{tmp\ 1903}#
-              (apply (lambda (#{_\ 1904}# #{e\ 1905}#)
+    (lambda (#{x\ 1964}#)
+      ((lambda (#{tmp\ 1965}#)
+         ((lambda (#{tmp\ 1966}#)
+            (if #{tmp\ 1966}#
+              (apply (lambda (#{_\ 1967}# #{e\ 1968}#)
                        (syntax-violation
                          'unquote-splicing
                          "expression not valid outside of quasiquote"
-                         #{x\ 1901}#))
-                     #{tmp\ 1903}#)
+                         #{x\ 1964}#))
+                     #{tmp\ 1966}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1902}#)))
-          ($sc-dispatch #{tmp\ 1902}# (quote (any any)))))
-       #{x\ 1901}#))))
+                #{tmp\ 1965}#)))
+          ($sc-dispatch #{tmp\ 1965}# (quote (any any)))))
+       #{x\ 1964}#))))
 
 (define case
   (make-extended-syncase-macro
     (module-ref (current-module) (quote case))
     'macro
-    (lambda (#{x\ 1906}#)
-      ((lambda (#{tmp\ 1907}#)
-         ((lambda (#{tmp\ 1908}#)
-            (if #{tmp\ 1908}#
-              (apply (lambda (#{_\ 1909}#
-                              #{e\ 1910}#
-                              #{m1\ 1911}#
-                              #{m2\ 1912}#)
-                       ((lambda (#{tmp\ 1913}#)
-                          ((lambda (#{body\ 1914}#)
+    (lambda (#{x\ 1969}#)
+      ((lambda (#{tmp\ 1970}#)
+         ((lambda (#{tmp\ 1971}#)
+            (if #{tmp\ 1971}#
+              (apply (lambda (#{_\ 1972}#
+                              #{e\ 1973}#
+                              #{m1\ 1974}#
+                              #{m2\ 1975}#)
+                       ((lambda (#{tmp\ 1976}#)
+                          ((lambda (#{body\ 1977}#)
                              (list '#(syntax-object
                                       let
                                       ((top)
@@ -13547,17 +13776,17 @@
                                                      #((top))
                                                      #("i")))
                                                   (hygiene guile))
-                                               #{e\ 1910}#))
-                                   #{body\ 1914}#))
-                           #{tmp\ 1913}#))
-                        (letrec ((#{f\ 1915}#
-                                   (lambda (#{clause\ 1916}# #{clauses\ 1917}#)
-                                     (if (null? #{clauses\ 1917}#)
-                                       ((lambda (#{tmp\ 1919}#)
-                                          ((lambda (#{tmp\ 1920}#)
-                                             (if #{tmp\ 1920}#
-                                               (apply (lambda (#{e1\ 1921}#
-                                                               #{e2\ 1922}#)
+                                               #{e\ 1973}#))
+                                   #{body\ 1977}#))
+                           #{tmp\ 1976}#))
+                        (letrec ((#{f\ 1978}#
+                                   (lambda (#{clause\ 1979}# #{clauses\ 1980}#)
+                                     (if (null? #{clauses\ 1980}#)
+                                       ((lambda (#{tmp\ 1982}#)
+                                          ((lambda (#{tmp\ 1983}#)
+                                             (if #{tmp\ 1983}#
+                                               (apply (lambda (#{e1\ 1984}#
+                                                               #{e2\ 1985}#)
                                                         (cons '#(syntax-object
                                                                  begin
                                                                  ((top)
@@ -13603,14 +13832,14 @@
                                                                     #("i")))
                                                                  (hygiene
                                                                    guile))
-                                                              (cons #{e1\ 
1921}#
-                                                                    #{e2\ 
1922}#)))
-                                                      #{tmp\ 1920}#)
-                                               ((lambda (#{tmp\ 1924}#)
-                                                  (if #{tmp\ 1924}#
-                                                    (apply (lambda (#{k\ 1925}#
-                                                                    #{e1\ 
1926}#
-                                                                    #{e2\ 
1927}#)
+                                                              (cons #{e1\ 
1984}#
+                                                                    #{e2\ 
1985}#)))
+                                                      #{tmp\ 1983}#)
+                                               ((lambda (#{tmp\ 1987}#)
+                                                  (if #{tmp\ 1987}#
+                                                    (apply (lambda (#{k\ 1988}#
+                                                                    #{e1\ 
1989}#
+                                                                    #{e2\ 
1990}#)
                                                              (list 
'#(syntax-object
                                                                       if
                                                                       ((top)
@@ -13811,7 +14040,7 @@
                                                                                
      #("i")))
                                                                                
   (hygiene
                                                                                
     guile))
-                                                                               
#{k\ 1925}#))
+                                                                               
#{k\ 1988}#))
                                                                    (cons 
'#(syntax-object
                                                                             
begin
                                                                             
((top)
@@ -13862,24 +14091,24 @@
                                                                                
#("i")))
                                                                             
(hygiene
                                                                               
guile))
-                                                                         (cons 
#{e1\ 1926}#
-                                                                               
#{e2\ 1927}#))))
-                                                           #{tmp\ 1924}#)
-                                                    ((lambda (#{_\ 1930}#)
+                                                                         (cons 
#{e1\ 1989}#
+                                                                               
#{e2\ 1990}#))))
+                                                           #{tmp\ 1987}#)
+                                                    ((lambda (#{_\ 1993}#)
                                                        (syntax-violation
                                                          'case
                                                          "bad clause"
-                                                         #{x\ 1906}#
-                                                         #{clause\ 1916}#))
-                                                     #{tmp\ 1919}#)))
+                                                         #{x\ 1969}#
+                                                         #{clause\ 1979}#))
+                                                     #{tmp\ 1982}#)))
                                                 ($sc-dispatch
-                                                  #{tmp\ 1919}#
+                                                  #{tmp\ 1982}#
                                                   '(each-any
                                                      any
                                                      .
                                                      each-any)))))
                                            ($sc-dispatch
-                                             #{tmp\ 1919}#
+                                             #{tmp\ 1982}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
@@ -13905,15 +14134,15 @@
                                                any
                                                .
                                                each-any))))
-                                        #{clause\ 1916}#)
-                                       ((lambda (#{tmp\ 1931}#)
-                                          ((lambda (#{rest\ 1932}#)
-                                             ((lambda (#{tmp\ 1933}#)
-                                                ((lambda (#{tmp\ 1934}#)
-                                                   (if #{tmp\ 1934}#
-                                                     (apply (lambda (#{k\ 
1935}#
-                                                                     #{e1\ 
1936}#
-                                                                     #{e2\ 
1937}#)
+                                        #{clause\ 1979}#)
+                                       ((lambda (#{tmp\ 1994}#)
+                                          ((lambda (#{rest\ 1995}#)
+                                             ((lambda (#{tmp\ 1996}#)
+                                                ((lambda (#{tmp\ 1997}#)
+                                                   (if #{tmp\ 1997}#
+                                                     (apply (lambda (#{k\ 
1998}#
+                                                                     #{e1\ 
1999}#
+                                                                     #{e2\ 
2000}#)
                                                               (list 
'#(syntax-object
                                                                        if
                                                                        ((top)
@@ -14130,7 +14359,7 @@
                                                                                
       #("i")))
                                                                                
    (hygiene
                                                                                
      guile))
-                                                                               
 #{k\ 1935}#))
+                                                                               
 #{k\ 1998}#))
                                                                     (cons 
'#(syntax-object
                                                                              
begin
                                                                              
((top)
@@ -14185,47 +14414,47 @@
                                                                                
 #("i")))
                                                                              
(hygiene
                                                                                
guile))
-                                                                          
(cons #{e1\ 1936}#
-                                                                               
 #{e2\ 1937}#))
-                                                                    #{rest\ 
1932}#))
-                                                            #{tmp\ 1934}#)
-                                                     ((lambda (#{_\ 1940}#)
+                                                                          
(cons #{e1\ 1999}#
+                                                                               
 #{e2\ 2000}#))
+                                                                    #{rest\ 
1995}#))
+                                                            #{tmp\ 1997}#)
+                                                     ((lambda (#{_\ 2003}#)
                                                         (syntax-violation
                                                           'case
                                                           "bad clause"
-                                                          #{x\ 1906}#
-                                                          #{clause\ 1916}#))
-                                                      #{tmp\ 1933}#)))
+                                                          #{x\ 1969}#
+                                                          #{clause\ 1979}#))
+                                                      #{tmp\ 1996}#)))
                                                  ($sc-dispatch
-                                                   #{tmp\ 1933}#
+                                                   #{tmp\ 1996}#
                                                    '(each-any
                                                       any
                                                       .
                                                       each-any))))
-                                              #{clause\ 1916}#))
-                                           #{tmp\ 1931}#))
-                                        (#{f\ 1915}#
-                                          (car #{clauses\ 1917}#)
-                                          (cdr #{clauses\ 1917}#)))))))
-                          (#{f\ 1915}# #{m1\ 1911}# #{m2\ 1912}#))))
-                     #{tmp\ 1908}#)
+                                              #{clause\ 1979}#))
+                                           #{tmp\ 1994}#))
+                                        (#{f\ 1978}#
+                                          (car #{clauses\ 1980}#)
+                                          (cdr #{clauses\ 1980}#)))))))
+                          (#{f\ 1978}# #{m1\ 1974}# #{m2\ 1975}#))))
+                     #{tmp\ 1971}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1907}#)))
+                #{tmp\ 1970}#)))
           ($sc-dispatch
-            #{tmp\ 1907}#
+            #{tmp\ 1970}#
             '(any any any . each-any))))
-       #{x\ 1906}#))))
+       #{x\ 1969}#))))
 
 (define identifier-syntax
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1941}#)
-      ((lambda (#{tmp\ 1942}#)
-         ((lambda (#{tmp\ 1943}#)
-            (if #{tmp\ 1943}#
-              (apply (lambda (#{_\ 1944}# #{e\ 1945}#)
+    (lambda (#{x\ 2004}#)
+      ((lambda (#{tmp\ 2005}#)
+         ((lambda (#{tmp\ 2006}#)
+            (if #{tmp\ 2006}#
+              (apply (lambda (#{_\ 2007}# #{e\ 2008}#)
                        (list '#(syntax-object
                                 lambda
                                 ((top)
@@ -14314,8 +14543,8 @@
                                                      #((top))
                                                      #("i")))
                                                   (hygiene guile))
-                                               #{e\ 1945}#))
-                                   (list (cons #{_\ 1944}#
+                                               #{e\ 2008}#))
+                                   (list (cons #{_\ 2007}#
                                                '(#(syntax-object
                                                    x
                                                    ((top)
@@ -14355,7 +14584,7 @@
                                                      #((top))
                                                      #("i")))
                                                   (hygiene guile))
-                                               (cons #{e\ 1945}#
+                                               (cons #{e\ 2008}#
                                                      '(#(syntax-object
                                                          x
                                                          ((top)
@@ -14383,26 +14612,26 @@
                                                             #("i")))
                                                          (hygiene
                                                            guile)))))))))
-                     #{tmp\ 1943}#)
+                     #{tmp\ 2006}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1942}#)))
-          ($sc-dispatch #{tmp\ 1942}# (quote (any any)))))
-       #{x\ 1941}#))))
+                #{tmp\ 2005}#)))
+          ($sc-dispatch #{tmp\ 2005}# (quote (any any)))))
+       #{x\ 2004}#))))
 
 (define define*
   (make-syncase-macro
     'macro
-    (lambda (#{x\ 1946}#)
-      ((lambda (#{tmp\ 1947}#)
-         ((lambda (#{tmp\ 1948}#)
-            (if #{tmp\ 1948}#
-              (apply (lambda (#{dummy\ 1949}#
-                              #{id\ 1950}#
-                              #{args\ 1951}#
-                              #{b0\ 1952}#
-                              #{b1\ 1953}#)
+    (lambda (#{x\ 2009}#)
+      ((lambda (#{tmp\ 2010}#)
+         ((lambda (#{tmp\ 2011}#)
+            (if #{tmp\ 2011}#
+              (apply (lambda (#{dummy\ 2012}#
+                              #{id\ 2013}#
+                              #{args\ 2014}#
+                              #{b0\ 2015}#
+                              #{b1\ 2016}#)
                        (list '#(syntax-object
                                 define
                                 ((top)
@@ -14413,7 +14642,7 @@
                                  #(ribcage () () ())
                                  #(ribcage #(x) #(("m" top)) #("i")))
                                 (hygiene guile))
-                             #{id\ 1950}#
+                             #{id\ 2013}#
                              (cons '#(syntax-object
                                       lambda*
                                       ((top)
@@ -14424,15 +14653,15 @@
                                        #(ribcage () () ())
                                        #(ribcage #(x) #(("m" top)) #("i")))
                                       (hygiene guile))
-                                   (cons #{args\ 1951}#
-                                         (cons #{b0\ 1952}# #{b1\ 1953}#)))))
-                     #{tmp\ 1948}#)
+                                   (cons #{args\ 2014}#
+                                         (cons #{b0\ 2015}# #{b1\ 2016}#)))))
+                     #{tmp\ 2011}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{tmp\ 1947}#)))
+                #{tmp\ 2010}#)))
           ($sc-dispatch
-            #{tmp\ 1947}#
+            #{tmp\ 2010}#
             '(any (any . any) any . each-any))))
-       #{x\ 1946}#))))
+       #{x\ 2009}#))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 05d2ba0..6fcc9b0 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -1585,7 +1585,7 @@
     (define (check req rest)
       (cond
        ((distinct-bound-ids? (if rest (cons rest req) req))
-        (values req #f rest #f))
+        (values req #f rest #f #f))
        (else
         (syntax-violation 'lambda "duplicate identifier in argument list"
                           orig-args))))
@@ -1610,40 +1610,44 @@
     (define (req args rreq)
       (syntax-case args ()
         (()
-         (check (reverse rreq) '() #f '()))
+         (check (reverse rreq) '() #f '() #f))
         ((a . b) (id? #'a)
          (req #'b (cons #'a rreq)))
         ((a . b) (eq? (syntax->datum #'a) #:optional)
          (opt #'b (reverse rreq) '()))
         ((a . b) (eq? (syntax->datum #'a) #:key)
          (key #'b (reverse rreq) '() '()))
+        ((a . b) (eq? (syntax->datum #'a) #:predicate)
+         (pred #'b (reverse rreq) '() '()))
         ((a b) (eq? (syntax->datum #'a) #:rest)
-         (rest #'b (reverse rreq) '() '()))
+         (rest #'b (reverse rreq) '() '() #f))
         (r (id? #'r)
-           (rest #'r (reverse rreq) '() '()))
+           (rest #'r (reverse rreq) '() '() #f))
         (else
          (syntax-violation 'lambda* "invalid argument list" orig-args args))))
     (define (opt args req ropt)
       (syntax-case args ()
         (()
-         (check req (reverse ropt) #f '()))
+         (check req (reverse ropt) #f '() #f))
         ((a . b) (id? #'a)
          (opt #'b req (cons #'(a #f) ropt)))
         (((a init) . b) (id? #'a)
          (opt #'b req (cons #'(a init) ropt)))
         ((a . b) (eq? (syntax->datum #'a) #:key)
          (key #'b req (reverse ropt) '()))
+        ((a . b) (eq? (syntax->datum #'a) #:predicate)
+         (pred #'b req (reverse ropt) '()))
         ((a b) (eq? (syntax->datum #'a) #:rest)
-         (rest #'b req (reverse ropt) '()))
+         (rest #'b req (reverse ropt) '() #f))
         (r (id? #'r)
-           (rest #'r req (reverse ropt) '()))
+           (rest #'r req (reverse ropt) '() #f))
         (else
          (syntax-violation 'lambda* "invalid optional argument list"
                            orig-args args))))
     (define (key args req opt rkey)
       (syntax-case args ()
         (()
-         (check req opt #f (cons #f (reverse rkey))))
+         (check req opt #f (cons #f (reverse rkey)) #f))
         ((a . b) (id? #'a)
          (with-syntax ((k (symbol->keyword (syntax->datum #'a))))
            (key #'b req opt (cons #'(k a #f) rkey))))
@@ -1654,33 +1658,48 @@
                                (keyword? (syntax->datum #'k)))
          (key #'b req opt (cons #'(k a init) rkey)))
         ((aok) (eq? (syntax->datum #'aok) #:allow-other-keys)
-         (check req opt #f (cons #t (reverse rkey))))
+         (check req opt #f (cons #t (reverse rkey)) #f))
+        ((aok a . b) (and (eq? (syntax->datum #'aok) #:allow-other-keys)
+                          (eq? (syntax->datum #'a) #:predicate))
+         (pred #'b req opt (cons #t (reverse rkey))))
         ((aok a b) (and (eq? (syntax->datum #'aok) #:allow-other-keys)
                         (eq? (syntax->datum #'a) #:rest))
          (rest #'b req opt (cons #t (reverse rkey))))
         ((aok . r) (and (eq? (syntax->datum #'aok) #:allow-other-keys)
                         (id? #'r))
          (rest #'r req opt (cons #t (reverse rkey))))
+        ((a . b) (eq? (syntax->datum #'a) #:predicate)
+         (pred #'b req opt (cons #f (reverse rkey))))
         ((a b) (eq? (syntax->datum #'a) #:rest)
-         (rest #'b req opt (cons #f (reverse rkey))))
+         (rest #'b req opt (cons #f (reverse rkey)) #f))
         (r (id? #'r)
-           (rest #'r req opt (cons #f (reverse rkey))))
+           (rest #'r req opt (cons #f (reverse rkey)) #f))
         (else
          (syntax-violation 'lambda* "invalid keyword argument list"
                            orig-args args))))
-    (define (rest args req opt kw)
+    (define (pred args req opt kw)
+      (syntax-case args ()
+        ((x) (check req opt #f kw #'x))
+        ((x a b) (eq? (syntax->datum #'a #:rest))
+         (rest #'b req opt #f kw #'x))
+        ((x . b) (id? #'b)
+         (rest #'b req opt #f kw #'x))
+        (else
+         (syntax-violation 'lambda* "invalid argument list following 
#:predicate"
+                           orig-args args))))
+    (define (rest args req opt kw pred)
       (syntax-case args ()
         (r (id? #'r)
-           (check req opt #'r kw))
+           (check req opt #'r kw pred))
         (else
          (syntax-violation 'lambda* "invalid rest argument"
                            orig-args args))))
-    (define (check req opt rest kw)
+    (define (check req opt rest kw pred)
       (cond
        ((distinct-bound-ids?
          (append req (map car opt) (if rest (list rest) '())
                  (if (pair? kw) (map cadr (cdr kw)) '())))
-        (values req opt rest kw))
+        (values req opt rest kw pred))
        (else
         (syntax-violation 'lambda* "duplicate identifier in argument list"
                           orig-args))))
@@ -1688,14 +1707,14 @@
 
 (define chi-lambda-case
   (lambda (e r w s mod get-formals clauses)
-    (define (expand-req req opt rest kw body)
+    (define (expand-req req opt rest kw pred body)
       (let ((vars (map gen-var req))
             (labels (gen-labels req)))
         (let ((r* (extend-var-env labels vars r))
               (w* (make-binding-wrap req labels w)))
           (expand-opt (map syntax->datum req)
-                      opt rest kw body (reverse vars) r* w* '() '()))))
-    (define (expand-opt req opt rest kw body vars r* w* out inits)
+                      opt rest kw pred body (reverse vars) r* w* '() '()))))
+    (define (expand-opt req opt rest kw pred body vars r* w* out inits)
       (cond
        ((pair? opt)
         (syntax-case (car opt) ()
@@ -1704,7 +1723,7 @@
                   (l (gen-labels (list v)))
                   (r** (extend-var-env l (list v) r*))
                   (w** (make-binding-wrap (list #'id) l w*)))
-             (expand-opt req (cdr opt) rest kw body (cons v vars)
+             (expand-opt req (cdr opt) rest kw pred body (cons v vars)
                          r** w** (cons (syntax->datum #'id) out)
                          (cons (chi #'i r* w* mod) inits))))))
        (rest
@@ -1715,16 +1734,16 @@
           (expand-kw req (if (pair? out) (reverse out) #f)
                      (syntax->datum rest)
                      (if (pair? kw) (cdr kw) kw)
-                     body (cons v vars) r* w* 
+                     pred body (cons v vars) r* w* 
                      (if (pair? kw) (car kw) #f)
                      '() inits)))
        (else
         (expand-kw req (if (pair? out) (reverse out) #f) #f
                    (if (pair? kw) (cdr kw) kw)
-                   body vars r* w*
+                   pred body vars r* w*
                    (if (pair? kw) (car kw) #f)
                    '() inits))))
-    (define (expand-kw req opt rest kw body vars r* w* aok out inits)
+    (define (expand-kw req opt rest kw pred body vars r* w* aok out inits)
       (cond
        ((pair? kw)
         (syntax-case (car kw) ()
@@ -1733,7 +1752,7 @@
                   (l (gen-labels (list v)))
                   (r** (extend-var-env l (list v) r*))
                   (w** (make-binding-wrap (list #'id) l w*)))
-             (expand-kw req opt rest (cdr kw) body (cons v vars)
+             (expand-kw req opt rest (cdr kw) pred body (cons v vars)
                         r** w** aok
                         (cons (list (syntax->datum #'k)
                                     (syntax->datum #'id)
@@ -1741,17 +1760,20 @@
                               out)
                         (cons (chi #'i r* w* mod) inits))))))
        (else
-        (expand-body req opt rest
+        (expand-pred req opt rest
                      (if (or aok (pair? out)) (cons aok (reverse out)) #f)
-                     body (reverse vars) r* w* (reverse inits)))))
-    (define (expand-body req opt rest kw body vars r* w* inits)
+                     pred body (reverse vars) r* w* (reverse inits)))))
+    (define (expand-pred req opt rest kw pred body vars r* w* inits)
+      (expand-body req opt rest kw (and pred (chi pred r* w* mod))
+                   body vars r* w* inits))
+    (define (expand-body req opt rest kw pred body vars r* w* inits)
       (syntax-case body ()
         ((docstring e1 e2 ...) (string? (syntax->datum #'docstring))
-         (values (syntax->datum #'docstring) req opt rest kw inits vars #f
+         (values (syntax->datum #'docstring) req opt rest kw inits vars pred
                  (chi-body #'(e1 e2 ...) (source-wrap e w s mod)
                            r* w* mod)))
         ((e1 e2 ...)
-         (values #f req opt rest kw inits vars #f
+         (values #f req opt rest kw inits vars pred
                  (chi-body #'(e1 e2 ...) (source-wrap e w s mod)
                            r* w* mod)))))
 
@@ -1759,9 +1781,9 @@
       (() (values #f #f))
       (((args e1 e2 ...) (args* e1* e2* ...) ...)
        (call-with-values (lambda () (get-formals #'args))
-          (lambda (req opt rest kw)
+          (lambda (req opt rest kw pred)
             (call-with-values (lambda ()
-                                (expand-req req opt rest kw #'(e1 e2 ...)))
+                                (expand-req req opt rest kw pred #'(e1 e2 
...)))
               (lambda (docstring req opt rest kw inits vars pred body)
                 (call-with-values
                     (lambda ()
@@ -2033,12 +2055,12 @@
      (syntax-case e ()
        ((_ args docstring e1 e2 ...) (string? (syntax->datum #'docstring))
         (call-with-values (lambda () (lambda-formals #'args))
-          (lambda (req opt rest kw)
+          (lambda (req opt rest kw pred)
             (chi-simple-lambda e r w s mod req rest (syntax->datum #'docstring)
                                #'(e1 e2 ...)))))
        ((_ args e1 e2 ...)
         (call-with-values (lambda () (lambda-formals #'args))
-          (lambda (req opt rest kw)
+          (lambda (req opt rest kw pred)
             (chi-simple-lambda e r w s mod req rest #f #'(e1 e2 ...)))))
        (_ (syntax-violation 'lambda "bad lambda" e)))))
 
diff --git a/module/language/tree-il/compile-glil.scm 
b/module/language/tree-il/compile-glil.scm
index 191f1bf..a809e2d 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -418,7 +418,7 @@
             (else
              ;; no cases left; shuffle args down and jump before the prelude.
              (for-each (lambda (i)
-                         (emit-code #f (make-glil-lexical #t #f 'set index)))
+                         (emit-code #f (make-glil-lexical #t #f 'set i)))
                        (reverse (iota (length args))))
              (emit-branch src 'br self-label)))))
         
@@ -693,8 +693,9 @@
                (if else-label
                    ;; fixme: debox if necessary
                    (emit-branch src 'br-if-not else-label)
-                   ;; fixme: better error
-                   (emit-code src (make-glil-call 'assert-true 0)))))
+                   (comp-push (make-application
+                               src (make-primitive-ref #f 'error)
+                               (list (make-const #f "precondition not 
met")))))))
          (comp-tail body)
          (if (not (null? vars))
              (emit-code #f (make-glil-unbind)))


hooks/post-receive
-- 
GNU Guile




reply via email to

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