Do not scan for coding declarations in open-file.
[bpt/guile.git] / module / ice-9 / psyntax-pp.scm
dissimilarity index 98%
index f2d3dfc..254f701 100644 (file)
-(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
-(if #f #f)
-
-(letrec ((#{and-map*\ 31}#
-           (lambda (#{f\ 69}# #{first\ 70}# . #{rest\ 71}#)
-             (let ((#{t\ 72}# (null? #{first\ 70}#)))
-               (if #{t\ 72}#
-                 #{t\ 72}#
-                 (if (null? #{rest\ 71}#)
-                   (letrec ((#{andmap\ 73}#
-                              (lambda (#{first\ 74}#)
-                                (let ((#{x\ 75}# (car #{first\ 74}#))
-                                      (#{first\ 76}# (cdr #{first\ 74}#)))
-                                  (if (null? #{first\ 76}#)
-                                    (#{f\ 69}# #{x\ 75}#)
-                                    (if (#{f\ 69}# #{x\ 75}#)
-                                      (#{andmap\ 73}# #{first\ 76}#)
-                                      #f))))))
-                     (#{andmap\ 73}# #{first\ 70}#))
-                   (letrec ((#{andmap\ 77}#
-                              (lambda (#{first\ 78}# #{rest\ 79}#)
-                                (let ((#{x\ 80}# (car #{first\ 78}#))
-                                      (#{xr\ 81}# (map car #{rest\ 79}#))
-                                      (#{first\ 82}# (cdr #{first\ 78}#))
-                                      (#{rest\ 83}# (map cdr #{rest\ 79}#)))
-                                  (if (null? #{first\ 82}#)
-                                    (apply #{f\ 69}#
-                                           (cons #{x\ 80}# #{xr\ 81}#))
-                                    (if (apply #{f\ 69}#
-                                               (cons #{x\ 80}# #{xr\ 81}#))
-                                      (#{andmap\ 77}#
-                                        #{first\ 82}#
-                                        #{rest\ 83}#)
-                                      #f))))))
-                     (#{andmap\ 77}# #{first\ 70}# #{rest\ 71}#))))))))
-  (letrec ((#{lambda-var-list\ 182}#
-             (lambda (#{vars\ 306}#)
-               (letrec ((#{lvl\ 307}#
-                          (lambda (#{vars\ 308}# #{ls\ 309}# #{w\ 310}#)
-                            (if (pair? #{vars\ 308}#)
-                              (#{lvl\ 307}#
-                                (cdr #{vars\ 308}#)
-                                (cons (#{wrap\ 159}#
-                                        (car #{vars\ 308}#)
-                                        #{w\ 310}#
-                                        #f)
-                                      #{ls\ 309}#)
-                                #{w\ 310}#)
-                              (if (#{id?\ 131}# #{vars\ 308}#)
-                                (cons (#{wrap\ 159}#
-                                        #{vars\ 308}#
-                                        #{w\ 310}#
-                                        #f)
-                                      #{ls\ 309}#)
-                                (if (null? #{vars\ 308}#)
-                                  #{ls\ 309}#
-                                  (if (#{syntax-object?\ 115}# #{vars\ 308}#)
-                                    (#{lvl\ 307}#
-                                      (#{syntax-object-expression\ 116}#
-                                        #{vars\ 308}#)
-                                      #{ls\ 309}#
-                                      (#{join-wraps\ 150}#
-                                        #{w\ 310}#
-                                        (#{syntax-object-wrap\ 117}#
-                                          #{vars\ 308}#)))
-                                    (cons #{vars\ 308}# #{ls\ 309}#))))))))
-                 (#{lvl\ 307}#
-                   #{vars\ 306}#
-                   '()
-                   '(())))))
-           (#{gen-var\ 181}#
-             (lambda (#{id\ 311}#)
-               (let ((#{id\ 312}#
-                       (if (#{syntax-object?\ 115}# #{id\ 311}#)
-                         (#{syntax-object-expression\ 116}# #{id\ 311}#)
-                         #{id\ 311}#)))
-                 (gensym
-                   (string-append (symbol->string #{id\ 312}#) " ")))))
-           (#{strip\ 180}#
-             (lambda (#{x\ 313}# #{w\ 314}#)
-               (if (memq 'top
-                         (#{wrap-marks\ 134}# #{w\ 314}#))
-                 #{x\ 313}#
-                 (letrec ((#{f\ 315}# (lambda (#{x\ 316}#)
-                                        (if (#{syntax-object?\ 115}#
-                                              #{x\ 316}#)
-                                          (#{strip\ 180}#
-                                            (#{syntax-object-expression\ 116}#
-                                              #{x\ 316}#)
-                                            (#{syntax-object-wrap\ 117}#
-                                              #{x\ 316}#))
-                                          (if (pair? #{x\ 316}#)
-                                            (let ((#{a\ 317}# (#{f\ 315}# (car #{x\ 316}#)))
-                                                  (#{d\ 318}# (#{f\ 315}# (cdr #{x\ 316}#))))
-                                              (if (if (eq? #{a\ 317}#
-                                                           (car #{x\ 316}#))
-                                                    (eq? #{d\ 318}#
-                                                         (cdr #{x\ 316}#))
-                                                    #f)
-                                                #{x\ 316}#
-                                                (cons #{a\ 317}# #{d\ 318}#)))
-                                            (if (vector? #{x\ 316}#)
-                                              (let ((#{old\ 319}#
-                                                      (vector->list
-                                                        #{x\ 316}#)))
-                                                (let ((#{new\ 320}#
-                                                        (map #{f\ 315}#
-                                                             #{old\ 319}#)))
-                                                  (if (#{and-map*\ 31}#
-                                                        eq?
-                                                        #{old\ 319}#
-                                                        #{new\ 320}#)
-                                                    #{x\ 316}#
-                                                    (list->vector
-                                                      #{new\ 320}#))))
-                                              #{x\ 316}#))))))
-                   (#{f\ 315}# #{x\ 313}#)))))
-           (#{chi-lambda-case\ 179}#
-             (lambda (#{e\ 321}#
-                      #{r\ 322}#
-                      #{w\ 323}#
-                      #{s\ 324}#
-                      #{mod\ 325}#
-                      #{get-formals\ 326}#
-                      #{clauses\ 327}#)
-               (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\ 345}#)))
-                                               #{tmp\ 344}#)
-                                        #f)
-                                    (apply (lambda (#{docstring\ 348}#
-                                                    #{e1\ 349}#
-                                                    #{e2\ 350}#)
-                                             (values
-                                               (syntax->datum
-                                                 #{docstring\ 348}#)
-                                               #{req\ 333}#
-                                               #{opt\ 334}#
-                                               #{rest\ 335}#
-                                               #{kw\ 336}#
-                                               #{inits\ 342}#
-                                               #{vars\ 339}#
-                                               #{pred\ 337}#
-                                               (#{chi-body\ 171}#
-                                                 (cons #{e1\ 349}# #{e2\ 350}#)
-                                                 (#{source-wrap\ 160}#
-                                                   #{e\ 321}#
-                                                   #{w\ 323}#
-                                                   #{s\ 324}#
-                                                   #{mod\ 325}#)
-                                                 #{r*\ 340}#
-                                                 #{w*\ 341}#
-                                                 #{mod\ 325}#)))
-                                           #{tmp\ 344}#)
-                                    ((lambda (#{tmp\ 352}#)
-                                       (if #{tmp\ 352}#
-                                         (apply (lambda (#{e1\ 353}#
-                                                         #{e2\ 354}#)
-                                                  (values
-                                                    #f
-                                                    #{req\ 333}#
-                                                    #{opt\ 334}#
-                                                    #{rest\ 335}#
-                                                    #{kw\ 336}#
-                                                    #{inits\ 342}#
-                                                    #{vars\ 339}#
-                                                    #{pred\ 337}#
-                                                    (#{chi-body\ 171}#
-                                                      (cons #{e1\ 353}#
-                                                            #{e2\ 354}#)
-                                                      (#{source-wrap\ 160}#
-                                                        #{e\ 321}#
-                                                        #{w\ 323}#
-                                                        #{s\ 324}#
-                                                        #{mod\ 325}#)
-                                                      #{r*\ 340}#
-                                                      #{w*\ 341}#
-                                                      #{mod\ 325}#)))
-                                                #{tmp\ 352}#)
-                                         (syntax-violation
-                                           #f
-                                           "source expression failed to match any pattern"
-                                           #{tmp\ 343}#)))
-                                     ($sc-dispatch
-                                       #{tmp\ 343}#
-                                       '(any . each-any)))))
-                                ($sc-dispatch
-                                  #{tmp\ 343}#
-                                  '(any any . each-any))))
-                             #{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\ 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\ 384}#
-                                                             (list #{v\ 383}#)
-                                                             #{r*\ 373}#)))
-                                                     (let ((#{w**\ 386}#
-                                                             (#{make-binding-wrap\ 148}#
-                                                               (list #{id\ 381}#)
-                                                               #{l\ 384}#
-                                                               #{w*\ 374}#)))
-                                                       (#{expand-kw\ 330}#
-                                                         #{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\ 380}#)
-                                                                     (syntax->datum
-                                                                       #{id\ 381}#)
-                                                                     #{v\ 383}#)
-                                                               #{out\ 376}#)
-                                                         (cons (#{chi\ 167}#
-                                                                 #{i\ 382}#
-                                                                 #{r*\ 373}#
-                                                                 #{w*\ 374}#
-                                                                 #{mod\ 325}#)
-                                                               #{inits\ 377}#)))))))
-                                             #{tmp\ 379}#)
-                                      (syntax-violation
-                                        #f
-                                        "source expression failed to match any pattern"
-                                        #{tmp\ 378}#)))
-                                  ($sc-dispatch
-                                    #{tmp\ 378}#
-                                    '(any any any))))
-                               (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)
-                                #{pred\ 370}#
-                                #{body\ 371}#
-                                (reverse #{vars\ 372}#)
-                                #{r*\ 373}#
-                                #{w*\ 374}#
-                                (reverse #{inits\ 377}#)))))
-                        (#{expand-opt\ 329}#
-                          (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\ 404}#
-                                                             (list #{v\ 403}#)
-                                                             #{r*\ 395}#)))
-                                                     (let ((#{w**\ 406}#
-                                                             (#{make-binding-wrap\ 148}#
-                                                               (list #{id\ 401}#)
-                                                               #{l\ 404}#
-                                                               #{w*\ 396}#)))
-                                                       (#{expand-opt\ 329}#
-                                                         #{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\ 401}#)
-                                                               #{out\ 397}#)
-                                                         (cons (#{chi\ 167}#
-                                                                 #{i\ 402}#
-                                                                 #{r*\ 395}#
-                                                                 #{w*\ 396}#
-                                                                 #{mod\ 325}#)
-                                                               #{inits\ 398}#)))))))
-                                             #{tmp\ 400}#)
-                                      (syntax-violation
-                                        #f
-                                        "source expression failed to match any pattern"
-                                        #{tmp\ 399}#)))
-                                  ($sc-dispatch
-                                    #{tmp\ 399}#
-                                    '(any any))))
-                               (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\ 408}#
-                                              (list #{v\ 407}#)
-                                              #{r*\ 395}#)))
-                                      (let ((#{w*\ 410}#
-                                              (#{make-binding-wrap\ 148}#
-                                                (list #{rest\ 390}#)
-                                                #{l\ 408}#
-                                                #{w*\ 396}#)))
-                                        (#{expand-kw\ 330}#
-                                          #{req\ 388}#
-                                          (if (pair? #{out\ 397}#)
-                                            (reverse #{out\ 397}#)
-                                            #f)
-                                          (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\ 398}#)))))
-                                (#{expand-kw\ 330}#
-                                  #{req\ 388}#
-                                  (if (pair? #{out\ 397}#)
-                                    (reverse #{out\ 397}#)
-                                    #f)
-                                  #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\ 398}#)))))
-                        (#{expand-req\ 328}#
-                          (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\ 418}#
-                                        #{vars\ 417}#
-                                        #{r\ 322}#))
-                                    (#{w*\ 420}#
-                                      (#{make-binding-wrap\ 148}#
-                                        #{req\ 411}#
-                                        #{labels\ 418}#
-                                        #{w\ 323}#)))
-                                (#{expand-opt\ 329}#
-                                  (map syntax->datum #{req\ 411}#)
-                                  #{opt\ 412}#
-                                  #{rest\ 413}#
-                                  #{kw\ 414}#
-                                  #{pred\ 415}#
-                                  #{body\ 416}#
-                                  (reverse #{vars\ 417}#)
-                                  #{r*\ 419}#
-                                  #{w*\ 420}#
-                                  '()
-                                  '()))))))
-                 ((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\ 424}#))
-                                         (lambda (#{req\ 430}#
-                                                  #{opt\ 431}#
-                                                  #{rest\ 432}#
-                                                  #{kw\ 433}#
-                                                  #{pred\ 434}#)
-                                           (call-with-values
-                                             (lambda ()
-                                               (#{expand-req\ 328}#
-                                                 #{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}#
-                                                     #{e\ 321}#
-                                                     #{r\ 322}#
-                                                     #{w\ 323}#
-                                                     #{s\ 324}#
-                                                     #{mod\ 325}#
-                                                     #{get-formals\ 326}#
-                                                     (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\ 451}# #{docstring\ 436}#))
-                                                       (if #{t\ 451}#
-                                                         #{t\ 451}#
-                                                         #{docstring*\ 449}#))
-                                                     (#{build-lambda-case\ 107}#
-                                                       #{s\ 324}#
-                                                       #{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\ 421}#)))
-                          ($sc-dispatch
-                            #{tmp\ 421}#
-                            '((any any . each-any)
-                              .
-                              #(each (any any . each-any)))))))
-                     ($sc-dispatch #{tmp\ 421}# (quote ()))))
-                  #{clauses\ 327}#))))
-           (#{lambda*-formals\ 178}#
-             (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\ 459}#
-                                    (map car #{opt\ 460}#)
-                                    (if #{rest\ 461}#
-                                      (list #{rest\ 461}#)
-                                      '())
-                                    (if (pair? #{kw\ 462}#)
-                                      (map cadr (cdr #{kw\ 462}#))
-                                      '())))
-                              (values
-                                #{req\ 459}#
-                                #{opt\ 460}#
-                                #{rest\ 461}#
-                                #{kw\ 462}#
-                                #{pred\ 463}#)
-                              (syntax-violation
-                                'lambda*
-                                "duplicate identifier in argument list"
-                                #{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\ 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\ 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}#
-                                                    #{kw\ 477}#
-                                                    #f))
-                                                #{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}#
-                                                         #{kw\ 477}#
-                                                         #f))
-                                                     #{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\ 458}#
-                                               #{req\ 495}#
-                                               #{opt\ 496}#
-                                               #f
-                                               (cons #f
-                                                     (reverse #{rkey\ 497}#))
-                                               #f))
-                                           #{tmp\ 499}#)
-                                    ((lambda (#{tmp\ 500}#)
-                                       (if (if #{tmp\ 500}#
-                                             (apply (lambda (#{a\ 501}#
-                                                             #{b\ 502}#)
-                                                      (#{id?\ 131}#
-                                                        #{a\ 501}#))
-                                                    #{tmp\ 500}#)
-                                             #f)
-                                         (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)
-                                                                                 #(ribcage
-                                                                                   #(k)
-                                                                                   #((top))
-                                                                                   #("i"))
-                                                                                 #(ribcage
-                                                                                   #(a
-                                                                                     b)
-                                                                                   #((top)
-                                                                                     (top))
-                                                                                   #("i"
-                                                                                     "i"))
-                                                                                 #(ribcage
-                                                                                   ()
-                                                                                   ()
-                                                                                   ())
-                                                                                 #(ribcage
-                                                                                   #(args
-                                                                                     req
-                                                                                     opt
-                                                                                     rkey)
-                                                                                   #((top)
-                                                                                     (top)
-                                                                                     (top)
-                                                                                     (top))
-                                                                                   #("i"
-                                                                                     "i"
-                                                                                     "i"
-                                                                                     "i"))
-                                                                                 #(ribcage
-                                                                                   (check rest
-                                                                                          pred
-                                                                                          key
-                                                                                          opt
-                                                                                          req)
-                                                                                   ((top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top))
-                                                                                   ("i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"))
-                                                                                 #(ribcage
-                                                                                   #(orig-args)
-                                                                                   #((top))
-                                                                                   #("i"))
-                                                                                 #(ribcage
-                                                                                   (lambda-var-list
-                                                                                     gen-var
-                                                                                     strip
-                                                                                     chi-lambda-case
-                                                                                     lambda*-formals
-                                                                                     chi-simple-lambda
-                                                                                     lambda-formals
-                                                                                     ellipsis?
-                                                                                     chi-void
-                                                                                     eval-local-transformer
-                                                                                     chi-local-syntax
-                                                                                     chi-body
-                                                                                     chi-macro
-                                                                                     chi-application
-                                                                                     chi-expr
-                                                                                     chi
-                                                                                     chi-top
-                                                                                     syntax-type
-                                                                                     chi-when-list
-                                                                                     chi-install-global
-                                                                                     chi-top-sequence
-                                                                                     chi-sequence
-                                                                                     source-wrap
-                                                                                     wrap
-                                                                                     bound-id-member?
-                                                                                     distinct-bound-ids?
-                                                                                     valid-bound-ids?
-                                                                                     bound-id=?
-                                                                                     free-id=?
-                                                                                     id-var-name
-                                                                                     same-marks?
-                                                                                     join-marks
-                                                                                     join-wraps
-                                                                                     smart-append
-                                                                                     make-binding-wrap
-                                                                                     extend-ribcage!
-                                                                                     make-empty-ribcage
-                                                                                     new-mark
-                                                                                     anti-mark
-                                                                                     the-anti-mark
-                                                                                     top-marked?
-                                                                                     top-wrap
-                                                                                     empty-wrap
-                                                                                     set-ribcage-labels!
-                                                                                     set-ribcage-marks!
-                                                                                     set-ribcage-symnames!
-                                                                                     ribcage-labels
-                                                                                     ribcage-marks
-                                                                                     ribcage-symnames
-                                                                                     ribcage?
-                                                                                     make-ribcage
-                                                                                     gen-labels
-                                                                                     gen-label
-                                                                                     make-rename
-                                                                                     rename-marks
-                                                                                     rename-new
-                                                                                     rename-old
-                                                                                     subst-rename?
-                                                                                     wrap-subst
-                                                                                     wrap-marks
-                                                                                     make-wrap
-                                                                                     id-sym-name&marks
-                                                                                     id-sym-name
-                                                                                     id?
-                                                                                     nonsymbol-id?
-                                                                                     global-extend
-                                                                                     lookup
-                                                                                     macros-only-env
-                                                                                     extend-var-env
-                                                                                     extend-env
-                                                                                     null-env
-                                                                                     binding-value
-                                                                                     binding-type
-                                                                                     make-binding
-                                                                                     arg-check
-                                                                                     source-annotation
-                                                                                     no-source
-                                                                                     set-syntax-object-module!
-                                                                                     set-syntax-object-wrap!
-                                                                                     set-syntax-object-expression!
-                                                                                     syntax-object-module
-                                                                                     syntax-object-wrap
-                                                                                     syntax-object-expression
-                                                                                     syntax-object?
-                                                                                     make-syntax-object
-                                                                                     build-lexical-var
-                                                                                     build-letrec
-                                                                                     build-named-let
-                                                                                     build-let
-                                                                                     build-sequence
-                                                                                     build-data
-                                                                                     build-primref
-                                                                                     build-lambda-case
-                                                                                     build-case-lambda
-                                                                                     build-simple-lambda
-                                                                                     build-global-definition
-                                                                                     maybe-name-value!
-                                                                                     build-global-assignment
-                                                                                     build-global-reference
-                                                                                     analyze-variable
-                                                                                     build-lexical-assignment
-                                                                                     build-lexical-reference
-                                                                                     build-conditional
-                                                                                     build-application
-                                                                                     build-void
-                                                                                     decorate-source
-                                                                                     get-global-definition-hook
-                                                                                     put-global-definition-hook
-                                                                                     gensym-hook
-                                                                                     local-eval-hook
-                                                                                     top-level-eval-hook
-                                                                                     fx<
-                                                                                     fx=
-                                                                                     fx-
-                                                                                     fx+
-                                                                                     *mode*
-                                                                                     noexpand)
-                                                                                   ((top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top)
-                                                                                    (top))
-                                                                                   ("i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"
-                                                                                    "i"))
-                                                                                 #(ribcage
-                                                                                   (define-structure
-                                                                                     and-map*)
-                                                                                   ((top)
-                                                                                    (top))
-                                                                                   ("i"
-                                                                                    "i")))
-                                                                                (hygiene
-                                                                                  guile)))))
-                                                                #{rkey\ 497}#)))
-                                                      #{tmp\ 505}#))
-                                                   (symbol->keyword
-                                                     (syntax->datum
-                                                       #{a\ 503}#))))
-                                                #{tmp\ 500}#)
-                                         ((lambda (#{tmp\ 507}#)
-                                            (if (if #{tmp\ 507}#
-                                                  (apply (lambda (#{a\ 508}#
-                                                                  #{init\ 509}#
-                                                                  #{b\ 510}#)
-                                                           (#{id?\ 131}#
-                                                             #{a\ 508}#))
-                                                         #{tmp\ 507}#)
-                                                  #f)
-                                              (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\ 511}#))))
-                                                     #{tmp\ 507}#)
-                                              ((lambda (#{tmp\ 516}#)
-                                                 (if (if #{tmp\ 516}#
-                                                       (apply (lambda (#{a\ 517}#
-                                                                       #{init\ 518}#
-                                                                       #{k\ 519}#
-                                                                       #{b\ 520}#)
-                                                                (if (#{id?\ 131}#
-                                                                      #{a\ 517}#)
-                                                                  (keyword?
-                                                                    (syntax->datum
-                                                                      #{k\ 519}#))
-                                                                  #f))
-                                                              #{tmp\ 516}#)
-                                                       #f)
-                                                   (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\ 526}#)
-                                                                          #:allow-other-keys))
-                                                                   #{tmp\ 525}#)
-                                                            #f)
-                                                        (apply (lambda (#{aok\ 527}#)
-                                                                 (#{check\ 458}#
-                                                                   #{req\ 495}#
-                                                                   #{opt\ 496}#
-                                                                   #f
-                                                                   (cons #t
-                                                                         (reverse
-                                                                           #{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\ 529}#)
-                                                                                   #:allow-other-keys)
-                                                                            (eq? (syntax->datum
-                                                                                   #{a\ 530}#)
-                                                                                 #:predicate)
-                                                                            #f))
-                                                                        #{tmp\ 528}#)
-                                                                 #f)
-                                                             (apply (lambda (#{aok\ 532}#
-                                                                             #{a\ 533}#
-                                                                             #{b\ 534}#)
-                                                                      (#{pred\ 456}#
-                                                                        #{b\ 534}#
-                                                                        #{req\ 495}#
-                                                                        #{opt\ 496}#
-                                                                        (cons #t
-                                                                              (reverse
-                                                                                #{rkey\ 497}#))))
-                                                                    #{tmp\ 528}#)
-                                                             ((lambda (#{tmp\ 535}#)
-                                                                (if (if #{tmp\ 535}#
-                                                                      (apply (lambda (#{aok\ 536}#
-                                                                                      #{a\ 537}#
-                                                                                      #{b\ 538}#)
-                                                                               (if (eq? (syntax->datum
-                                                                                          #{aok\ 536}#)
-                                                                                        #:allow-other-keys)
-                                                                                 (eq? (syntax->datum
-                                                                                        #{a\ 537}#)
-                                                                                      #:rest)
-                                                                                 #f))
-                                                                             #{tmp\ 535}#)
-                                                                      #f)
-                                                                  (apply (lambda (#{aok\ 539}#
-                                                                                  #{a\ 540}#
-                                                                                  #{b\ 541}#)
-                                                                           (#{rest\ 457}#
-                                                                             #{b\ 541}#
-                                                                             #{req\ 495}#
-                                                                             #{opt\ 496}#
-                                                                             (cons #t
-                                                                                   (reverse
-                                                                                     #{rkey\ 497}#))
-                                                                             #f))
-                                                                         #{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 (#{aok\ 545}#
-                                                                                       #{r\ 546}#)
-                                                                                (#{rest\ 457}#
-                                                                                  #{r\ 546}#
-                                                                                  #{req\ 495}#
-                                                                                  #{opt\ 496}#
-                                                                                  (cons #t
-                                                                                        (reverse
-                                                                                          #{rkey\ 497}#))
-                                                                                  #f))
-                                                                              #{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 (#{a\ 550}#
-                                                                                            #{b\ 551}#)
-                                                                                     (#{pred\ 456}#
-                                                                                       #{b\ 551}#
-                                                                                       #{req\ 495}#
-                                                                                       #{opt\ 496}#
-                                                                                       (cons #f
-                                                                                             (reverse
-                                                                                               #{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\ 498}#
-                                                                     '(any .
-                                                                           any)))))
-                                                              ($sc-dispatch
-                                                                #{tmp\ 498}#
-                                                                '(any any
-                                                                      any)))))
-                                                         ($sc-dispatch
-                                                           #{tmp\ 498}#
-                                                           '(any any . any)))))
-                                                    ($sc-dispatch
-                                                      #{tmp\ 498}#
-                                                      '(any)))))
-                                               ($sc-dispatch
-                                                 #{tmp\ 498}#
-                                                 '((any any any) . any)))))
-                                          ($sc-dispatch
-                                            #{tmp\ 498}#
-                                            '((any any) . any)))))
-                                     ($sc-dispatch
-                                       #{tmp\ 498}#
-                                       '(any . any)))))
-                                ($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\ 458}#
-                                               #{req\ 562}#
-                                               (reverse #{ropt\ 563}#)
-                                               #f
-                                               '()
-                                               #f))
-                                           #{tmp\ 565}#)
-                                    ((lambda (#{tmp\ 566}#)
-                                       (if (if #{tmp\ 566}#
-                                             (apply (lambda (#{a\ 567}#
-                                                             #{b\ 568}#)
-                                                      (#{id?\ 131}#
-                                                        #{a\ 567}#))
-                                                    #{tmp\ 566}#)
-                                             #f)
-                                         (apply (lambda (#{a\ 569}# #{b\ 570}#)
-                                                  (#{opt\ 454}#
-                                                    #{b\ 570}#
-                                                    #{req\ 562}#
-                                                    (cons (cons #{a\ 569}#
-                                                                '(#(syntax-object
-                                                                    #f
-                                                                    ((top)
-                                                                     #(ribcage
-                                                                       #(a b)
-                                                                       #((top)
-                                                                         (top))
-                                                                       #("i"
-                                                                         "i"))
-                                                                     #(ribcage
-                                                                       ()
-                                                                       ()
-                                                                       ())
-                                                                     #(ribcage
-                                                                       #(args
-                                                                         req
-                                                                         ropt)
-                                                                       #((top)
-                                                                         (top)
-                                                                         (top))
-                                                                       #("i"
-                                                                         "i"
-                                                                         "i"))
-                                                                     #(ribcage
-                                                                       (check rest
-                                                                              pred
-                                                                              key
-                                                                              opt
-                                                                              req)
-                                                                       ((top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top))
-                                                                       ("i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"))
-                                                                     #(ribcage
-                                                                       #(orig-args)
-                                                                       #((top))
-                                                                       #("i"))
-                                                                     #(ribcage
-                                                                       (lambda-var-list
-                                                                         gen-var
-                                                                         strip
-                                                                         chi-lambda-case
-                                                                         lambda*-formals
-                                                                         chi-simple-lambda
-                                                                         lambda-formals
-                                                                         ellipsis?
-                                                                         chi-void
-                                                                         eval-local-transformer
-                                                                         chi-local-syntax
-                                                                         chi-body
-                                                                         chi-macro
-                                                                         chi-application
-                                                                         chi-expr
-                                                                         chi
-                                                                         chi-top
-                                                                         syntax-type
-                                                                         chi-when-list
-                                                                         chi-install-global
-                                                                         chi-top-sequence
-                                                                         chi-sequence
-                                                                         source-wrap
-                                                                         wrap
-                                                                         bound-id-member?
-                                                                         distinct-bound-ids?
-                                                                         valid-bound-ids?
-                                                                         bound-id=?
-                                                                         free-id=?
-                                                                         id-var-name
-                                                                         same-marks?
-                                                                         join-marks
-                                                                         join-wraps
-                                                                         smart-append
-                                                                         make-binding-wrap
-                                                                         extend-ribcage!
-                                                                         make-empty-ribcage
-                                                                         new-mark
-                                                                         anti-mark
-                                                                         the-anti-mark
-                                                                         top-marked?
-                                                                         top-wrap
-                                                                         empty-wrap
-                                                                         set-ribcage-labels!
-                                                                         set-ribcage-marks!
-                                                                         set-ribcage-symnames!
-                                                                         ribcage-labels
-                                                                         ribcage-marks
-                                                                         ribcage-symnames
-                                                                         ribcage?
-                                                                         make-ribcage
-                                                                         gen-labels
-                                                                         gen-label
-                                                                         make-rename
-                                                                         rename-marks
-                                                                         rename-new
-                                                                         rename-old
-                                                                         subst-rename?
-                                                                         wrap-subst
-                                                                         wrap-marks
-                                                                         make-wrap
-                                                                         id-sym-name&marks
-                                                                         id-sym-name
-                                                                         id?
-                                                                         nonsymbol-id?
-                                                                         global-extend
-                                                                         lookup
-                                                                         macros-only-env
-                                                                         extend-var-env
-                                                                         extend-env
-                                                                         null-env
-                                                                         binding-value
-                                                                         binding-type
-                                                                         make-binding
-                                                                         arg-check
-                                                                         source-annotation
-                                                                         no-source
-                                                                         set-syntax-object-module!
-                                                                         set-syntax-object-wrap!
-                                                                         set-syntax-object-expression!
-                                                                         syntax-object-module
-                                                                         syntax-object-wrap
-                                                                         syntax-object-expression
-                                                                         syntax-object?
-                                                                         make-syntax-object
-                                                                         build-lexical-var
-                                                                         build-letrec
-                                                                         build-named-let
-                                                                         build-let
-                                                                         build-sequence
-                                                                         build-data
-                                                                         build-primref
-                                                                         build-lambda-case
-                                                                         build-case-lambda
-                                                                         build-simple-lambda
-                                                                         build-global-definition
-                                                                         maybe-name-value!
-                                                                         build-global-assignment
-                                                                         build-global-reference
-                                                                         analyze-variable
-                                                                         build-lexical-assignment
-                                                                         build-lexical-reference
-                                                                         build-conditional
-                                                                         build-application
-                                                                         build-void
-                                                                         decorate-source
-                                                                         get-global-definition-hook
-                                                                         put-global-definition-hook
-                                                                         gensym-hook
-                                                                         local-eval-hook
-                                                                         top-level-eval-hook
-                                                                         fx<
-                                                                         fx=
-                                                                         fx-
-                                                                         fx+
-                                                                         *mode*
-                                                                         noexpand)
-                                                                       ((top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top))
-                                                                       ("i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i"))
-                                                                     #(ribcage
-                                                                       (define-structure
-                                                                         and-map*)
-                                                                       ((top)
-                                                                        (top))
-                                                                       ("i"
-                                                                        "i")))
-                                                                    (hygiene
-                                                                      guile))))
-                                                          #{ropt\ 563}#)))
-                                                #{tmp\ 566}#)
-                                         ((lambda (#{tmp\ 571}#)
-                                            (if (if #{tmp\ 571}#
-                                                  (apply (lambda (#{a\ 572}#
-                                                                  #{init\ 573}#
-                                                                  #{b\ 574}#)
-                                                           (#{id?\ 131}#
-                                                             #{a\ 572}#))
-                                                         #{tmp\ 571}#)
-                                                  #f)
-                                              (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\ 579}#)
-                                                                     #:key))
-                                                              #{tmp\ 578}#)
-                                                       #f)
-                                                   (apply (lambda (#{a\ 581}#
-                                                                   #{b\ 582}#)
-                                                            (#{key\ 455}#
-                                                              #{b\ 582}#
-                                                              #{req\ 562}#
-                                                              (reverse
-                                                                #{ropt\ 563}#)
-                                                              '()))
-                                                          #{tmp\ 578}#)
-                                                   ((lambda (#{tmp\ 583}#)
-                                                      (if (if #{tmp\ 583}#
-                                                            (apply (lambda (#{a\ 584}#
-                                                                            #{b\ 585}#)
-                                                                     (eq? (syntax->datum
-                                                                            #{a\ 584}#)
-                                                                          #:predicate))
-                                                                   #{tmp\ 583}#)
-                                                            #f)
-                                                        (apply (lambda (#{a\ 586}#
-                                                                        #{b\ 587}#)
-                                                                 (#{pred\ 456}#
-                                                                   #{b\ 587}#
-                                                                   #{req\ 562}#
-                                                                   (reverse
-                                                                     #{ropt\ 563}#)
-                                                                   '()))
-                                                               #{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 (#{a\ 591}#
-                                                                             #{b\ 592}#)
-                                                                      (#{rest\ 457}#
-                                                                        #{b\ 592}#
-                                                                        #{req\ 562}#
-                                                                        (reverse
-                                                                          #{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\ 564}#
-                                                      '(any . any)))))
-                                               ($sc-dispatch
-                                                 #{tmp\ 564}#
-                                                 '(any . any)))))
-                                          ($sc-dispatch
-                                            #{tmp\ 564}#
-                                            '((any any) . any)))))
-                                     ($sc-dispatch
-                                       #{tmp\ 564}#
-                                       '(any . any)))))
-                                ($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\ 458}#
-                                               (reverse #{rreq\ 598}#)
-                                               '()
-                                               #f
-                                               '()
-                                               #f))
-                                           #{tmp\ 600}#)
-                                    ((lambda (#{tmp\ 601}#)
-                                       (if (if #{tmp\ 601}#
-                                             (apply (lambda (#{a\ 602}#
-                                                             #{b\ 603}#)
-                                                      (#{id?\ 131}#
-                                                        #{a\ 602}#))
-                                                    #{tmp\ 601}#)
-                                             #f)
-                                         (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\ 607}#)
-                                                                #:optional))
-                                                         #{tmp\ 606}#)
-                                                  #f)
-                                              (apply (lambda (#{a\ 609}#
-                                                              #{b\ 610}#)
-                                                       (#{opt\ 454}#
-                                                         #{b\ 610}#
-                                                         (reverse
-                                                           #{rreq\ 598}#)
-                                                         '()))
-                                                     #{tmp\ 606}#)
-                                              ((lambda (#{tmp\ 611}#)
-                                                 (if (if #{tmp\ 611}#
-                                                       (apply (lambda (#{a\ 612}#
-                                                                       #{b\ 613}#)
-                                                                (eq? (syntax->datum
-                                                                       #{a\ 612}#)
-                                                                     #:key))
-                                                              #{tmp\ 611}#)
-                                                       #f)
-                                                   (apply (lambda (#{a\ 614}#
-                                                                   #{b\ 615}#)
-                                                            (#{key\ 455}#
-                                                              #{b\ 615}#
-                                                              (reverse
-                                                                #{rreq\ 598}#)
-                                                              '()
-                                                              '()))
-                                                          #{tmp\ 611}#)
-                                                   ((lambda (#{tmp\ 616}#)
-                                                      (if (if #{tmp\ 616}#
-                                                            (apply (lambda (#{a\ 617}#
-                                                                            #{b\ 618}#)
-                                                                     (eq? (syntax->datum
-                                                                            #{a\ 617}#)
-                                                                          #:predicate))
-                                                                   #{tmp\ 616}#)
-                                                            #f)
-                                                        (apply (lambda (#{a\ 619}#
-                                                                        #{b\ 620}#)
-                                                                 (#{pred\ 456}#
-                                                                   #{b\ 620}#
-                                                                   (reverse
-                                                                     #{rreq\ 598}#)
-                                                                   '()
-                                                                   '()))
-                                                               #{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 (#{a\ 624}#
-                                                                             #{b\ 625}#)
-                                                                      (#{rest\ 457}#
-                                                                        #{b\ 625}#
-                                                                        (reverse
-                                                                          #{rreq\ 598}#)
-                                                                        '()
-                                                                        '()
-                                                                        #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\ 599}#
-                                                      '(any . any)))))
-                                               ($sc-dispatch
-                                                 #{tmp\ 599}#
-                                                 '(any . any)))))
-                                          ($sc-dispatch
-                                            #{tmp\ 599}#
-                                            '(any . any)))))
-                                     ($sc-dispatch
-                                       #{tmp\ 599}#
-                                       '(any . any)))))
-                                ($sc-dispatch #{tmp\ 599}# (quote ()))))
-                             #{args\ 597}#))))
-                 (#{req\ 453}# #{orig-args\ 452}# (quote ())))))
-           (#{chi-simple-lambda\ 177}#
-             (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\ 633}#
-                       (map syntax->datum #{req\ 635}#)
-                       (if #{rest\ 636}#
-                         (syntax->datum #{rest\ 636}#)
-                         #f)
-                       #{vars\ 640}#
-                       #{docstring\ 637}#
-                       (#{chi-body\ 171}#
-                         #{body\ 638}#
-                         (#{source-wrap\ 160}#
-                           #{e\ 630}#
-                           #{w\ 632}#
-                           #{s\ 633}#
-                           #{mod\ 634}#)
-                         (#{extend-var-env\ 126}#
-                           #{labels\ 641}#
-                           #{vars\ 640}#
-                           #{r\ 631}#)
-                         (#{make-binding-wrap\ 148}#
-                           #{ids\ 639}#
-                           #{labels\ 641}#
-                           #{w\ 632}#)
-                         #{mod\ 634}#)))))))
-           (#{lambda-formals\ 176}#
-             (lambda (#{orig-args\ 642}#)
-               (letrec ((#{check\ 644}#
-                          (lambda (#{req\ 645}# #{rest\ 646}#)
-                            (if (#{distinct-bound-ids?\ 157}#
-                                  (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\ 642}#))))
-                        (#{req\ 643}#
-                          (lambda (#{args\ 647}# #{rreq\ 648}#)
-                            ((lambda (#{tmp\ 649}#)
-                               ((lambda (#{tmp\ 650}#)
-                                  (if #{tmp\ 650}#
-                                    (apply (lambda ()
-                                             (#{check\ 644}#
-                                               (reverse #{rreq\ 648}#)
-                                               #f))
-                                           #{tmp\ 650}#)
-                                    ((lambda (#{tmp\ 651}#)
-                                       (if (if #{tmp\ 651}#
-                                             (apply (lambda (#{a\ 652}#
-                                                             #{b\ 653}#)
-                                                      (#{id?\ 131}#
-                                                        #{a\ 652}#))
-                                                    #{tmp\ 651}#)
-                                             #f)
-                                         (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\ 657}#))
-                                                         #{tmp\ 656}#)
-                                                  #f)
-                                              (apply (lambda (#{r\ 658}#)
-                                                       (#{check\ 644}#
-                                                         (reverse
-                                                           #{rreq\ 648}#)
-                                                         #{r\ 658}#))
-                                                     #{tmp\ 656}#)
-                                              ((lambda (#{else\ 659}#)
-                                                 (syntax-violation
-                                                   'lambda
-                                                   "invalid argument list"
-                                                   #{orig-args\ 642}#
-                                                   #{args\ 647}#))
-                                               #{tmp\ 649}#)))
-                                          (list #{tmp\ 649}#))))
-                                     ($sc-dispatch
-                                       #{tmp\ 649}#
-                                       '(any . any)))))
-                                ($sc-dispatch #{tmp\ 649}# (quote ()))))
-                             #{args\ 647}#))))
-                 (#{req\ 643}# #{orig-args\ 642}# (quote ())))))
-           (#{ellipsis?\ 175}#
-             (lambda (#{x\ 660}#)
-               (if (#{nonsymbol-id?\ 130}# #{x\ 660}#)
-                 (#{free-id=?\ 154}#
-                   #{x\ 660}#
-                   '#(syntax-object
-                      ...
-                      ((top)
-                       #(ribcage () () ())
-                       #(ribcage () () ())
-                       #(ribcage #(x) #((top)) #("i"))
-                       #(ribcage
-                         (lambda-var-list
-                           gen-var
-                           strip
-                           chi-lambda-case
-                           lambda*-formals
-                           chi-simple-lambda
-                           lambda-formals
-                           ellipsis?
-                           chi-void
-                           eval-local-transformer
-                           chi-local-syntax
-                           chi-body
-                           chi-macro
-                           chi-application
-                           chi-expr
-                           chi
-                           chi-top
-                           syntax-type
-                           chi-when-list
-                           chi-install-global
-                           chi-top-sequence
-                           chi-sequence
-                           source-wrap
-                           wrap
-                           bound-id-member?
-                           distinct-bound-ids?
-                           valid-bound-ids?
-                           bound-id=?
-                           free-id=?
-                           id-var-name
-                           same-marks?
-                           join-marks
-                           join-wraps
-                           smart-append
-                           make-binding-wrap
-                           extend-ribcage!
-                           make-empty-ribcage
-                           new-mark
-                           anti-mark
-                           the-anti-mark
-                           top-marked?
-                           top-wrap
-                           empty-wrap
-                           set-ribcage-labels!
-                           set-ribcage-marks!
-                           set-ribcage-symnames!
-                           ribcage-labels
-                           ribcage-marks
-                           ribcage-symnames
-                           ribcage?
-                           make-ribcage
-                           gen-labels
-                           gen-label
-                           make-rename
-                           rename-marks
-                           rename-new
-                           rename-old
-                           subst-rename?
-                           wrap-subst
-                           wrap-marks
-                           make-wrap
-                           id-sym-name&marks
-                           id-sym-name
-                           id?
-                           nonsymbol-id?
-                           global-extend
-                           lookup
-                           macros-only-env
-                           extend-var-env
-                           extend-env
-                           null-env
-                           binding-value
-                           binding-type
-                           make-binding
-                           arg-check
-                           source-annotation
-                           no-source
-                           set-syntax-object-module!
-                           set-syntax-object-wrap!
-                           set-syntax-object-expression!
-                           syntax-object-module
-                           syntax-object-wrap
-                           syntax-object-expression
-                           syntax-object?
-                           make-syntax-object
-                           build-lexical-var
-                           build-letrec
-                           build-named-let
-                           build-let
-                           build-sequence
-                           build-data
-                           build-primref
-                           build-lambda-case
-                           build-case-lambda
-                           build-simple-lambda
-                           build-global-definition
-                           maybe-name-value!
-                           build-global-assignment
-                           build-global-reference
-                           analyze-variable
-                           build-lexical-assignment
-                           build-lexical-reference
-                           build-conditional
-                           build-application
-                           build-void
-                           decorate-source
-                           get-global-definition-hook
-                           put-global-definition-hook
-                           gensym-hook
-                           local-eval-hook
-                           top-level-eval-hook
-                           fx<
-                           fx=
-                           fx-
-                           fx+
-                           *mode*
-                           noexpand)
-                         ((top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top)
-                          (top))
-                         ("i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"
-                          "i"))
-                       #(ribcage
-                         (define-structure and-map*)
-                         ((top) (top))
-                         ("i" "i")))
-                      (hygiene guile)))
-                 #f)))
-           (#{chi-void\ 174}#
-             (lambda () (#{build-void\ 95}# #f)))
-           (#{eval-local-transformer\ 173}#
-             (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\ 663}#)))))
-           (#{chi-local-syntax\ 172}#
-             (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\ 678}#))
-                                    (syntax-violation
-                                      #f
-                                      "duplicate bound keyword"
-                                      #{e\ 665}#)
-                                    (let ((#{labels\ 680}#
-                                            (#{gen-labels\ 137}#
-                                              #{ids\ 678}#)))
-                                      (let ((#{new-w\ 681}#
-                                              (#{make-binding-wrap\ 148}#
-                                                #{ids\ 678}#
-                                                #{labels\ 680}#
-                                                #{w\ 667}#)))
-                                        (#{k\ 670}# (cons #{e1\ 676}#
-                                                          #{e2\ 677}#)
-                                                    (#{extend-env\ 125}#
-                                                      #{labels\ 680}#
-                                                      (let ((#{w\ 683}# (if #{rec?\ 664}#
-                                                                          #{new-w\ 681}#
-                                                                          #{w\ 667}#))
-                                                            (#{trans-r\ 684}#
-                                                              (#{macros-only-env\ 127}#
-                                                                #{r\ 666}#)))
-                                                        (map (lambda (#{x\ 685}#)
-                                                               (cons 'macro
-                                                                     (#{eval-local-transformer\ 173}#
-                                                                       (#{chi\ 167}#
-                                                                         #{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\ 665}#
-                              #{w\ 667}#
-                              #{s\ 668}#
-                              #{mod\ 669}#)))
-                        #{tmp\ 671}#)))
-                   ($sc-dispatch
-                     #{tmp\ 671}#
-                     '(any #(each (any any)) any . each-any))))
-                #{e\ 665}#)))
-           (#{chi-body\ 171}#
-             (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\ 695}# (#{make-wrap\ 133}#
-                                       (#{wrap-marks\ 134}# #{w\ 691}#)
-                                       (cons #{ribcage\ 694}#
-                                             (#{wrap-subst\ 135}#
-                                               #{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\ 689}#)
-                                    (let ((#{e\ 705}# (cdar #{body\ 697}#))
-                                          (#{er\ 706}# (caar #{body\ 697}#)))
-                                      (call-with-values
-                                        (lambda ()
-                                          (#{syntax-type\ 165}#
-                                            #{e\ 705}#
-                                            #{er\ 706}#
-                                            '(())
-                                            (#{source-annotation\ 122}#
-                                              #{er\ 706}#)
-                                            #{ribcage\ 694}#
-                                            #{mod\ 692}#
-                                            #f))
-                                        (lambda (#{type\ 707}#
-                                                 #{value\ 708}#
-                                                 #{e\ 709}#
-                                                 #{w\ 710}#
-                                                 #{s\ 711}#
-                                                 #{mod\ 712}#)
-                                          (if (memv #{type\ 707}#
-                                                    '(define-form))
-                                            (let ((#{id\ 713}#
-                                                    (#{wrap\ 159}#
-                                                      #{value\ 708}#
-                                                      #{w\ 710}#
-                                                      #{mod\ 712}#))
-                                                  (#{label\ 714}#
-                                                    (#{gen-label\ 136}#)))
-                                              (let ((#{var\ 715}#
-                                                      (#{gen-var\ 181}#
-                                                        #{id\ 713}#)))
-                                                (begin
-                                                  (#{extend-ribcage!\ 147}#
-                                                    #{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\ 709}#
-                                                                  #{w\ 710}#
-                                                                  #{mod\ 712}#))
-                                                          #{vals\ 702}#)
-                                                    (cons (cons 'lexical
-                                                                #{var\ 715}#)
-                                                          #{bindings\ 703}#)))))
-                                            (if (memv #{type\ 707}#
-                                                      '(define-syntax-form))
-                                              (let ((#{id\ 716}#
-                                                      (#{wrap\ 159}#
-                                                        #{value\ 708}#
-                                                        #{w\ 710}#
-                                                        #{mod\ 712}#))
-                                                    (#{label\ 717}#
-                                                      (#{gen-label\ 136}#)))
-                                                (begin
-                                                  (#{extend-ribcage!\ 147}#
-                                                    #{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\ 706}#
-                                                                      (#{wrap\ 159}#
-                                                                        #{e\ 709}#
-                                                                        #{w\ 710}#
-                                                                        #{mod\ 712}#)))
-                                                          #{bindings\ 703}#))))
-                                              (if (memv #{type\ 707}#
-                                                        '(begin-form))
-                                                ((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\ 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\ 718}#)))
-                                                    ($sc-dispatch
-                                                      #{tmp\ 718}#
-                                                      '(any . each-any))))
-                                                 #{e\ 709}#)
-                                                (if (memv #{type\ 707}#
-                                                          '(local-syntax-form))
-                                                  (#{chi-local-syntax\ 172}#
-                                                    #{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\ 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\ 732}#)
-                                                             (#{chi\ 167}#
-                                                               (cdr #{x\ 732}#)
-                                                               (car #{x\ 732}#)
-                                                               '(())
-                                                               #{mod\ 712}#))
-                                                           (cons (cons #{er\ 706}#
-                                                                       (#{source-wrap\ 160}#
-                                                                         #{e\ 709}#
-                                                                         #{w\ 710}#
-                                                                         #{s\ 711}#
-                                                                         #{mod\ 712}#))
-                                                                 (cdr #{body\ 697}#))))
-                                                    (begin
-                                                      (if (not (#{valid-bound-ids?\ 156}#
-                                                                 #{ids\ 698}#))
-                                                        (syntax-violation
-                                                          #f
-                                                          "invalid or duplicate identifier in definition"
-                                                          #{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\ 738}#
-                                                                                 (cadr #{b\ 737}#)))
-                                                                           (let ((#{r-cache\ 739}#
-                                                                                   (if (eq? #{er\ 738}#
-                                                                                            #{er-cache\ 735}#)
-                                                                                     #{r-cache\ 736}#
-                                                                                     (#{macros-only-env\ 127}#
-                                                                                       #{er\ 738}#))))
-                                                                             (begin
-                                                                               (set-cdr!
-                                                                                 #{b\ 737}#
-                                                                                 (#{eval-local-transformer\ 173}#
-                                                                                   (#{chi\ 167}#
-                                                                                     (cddr #{b\ 737}#)
-                                                                                     #{r-cache\ 739}#
-                                                                                     '(())
-                                                                                     #{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\ 693}#
-                                                        (#{extend-env\ 125}#
-                                                          #{labels\ 699}#
-                                                          #{bindings\ 703}#
-                                                          (cdr #{r\ 693}#)))
-                                                      (#{build-letrec\ 113}#
-                                                        #f
-                                                        (map syntax->datum
-                                                             #{var-ids\ 700}#)
-                                                        #{vars\ 701}#
-                                                        (map (lambda (#{x\ 740}#)
-                                                               (#{chi\ 167}#
-                                                                 (cdr #{x\ 740}#)
-                                                                 (car #{x\ 740}#)
-                                                                 '(())
-                                                                 #{mod\ 712}#))
-                                                             #{vals\ 702}#)
-                                                        (#{build-sequence\ 110}#
-                                                          #f
-                                                          (map (lambda (#{x\ 741}#)
-                                                                 (#{chi\ 167}#
-                                                                   (cdr #{x\ 741}#)
-                                                                   (car #{x\ 741}#)
-                                                                   '(())
-                                                                   #{mod\ 712}#))
-                                                               (cons (cons #{er\ 706}#
-                                                                           (#{source-wrap\ 160}#
-                                                                             #{e\ 709}#
-                                                                             #{w\ 710}#
-                                                                             #{s\ 711}#
-                                                                             #{mod\ 712}#))
-                                                                     (cdr #{body\ 697}#))))))))))))))))))
-                       (#{parse\ 696}#
-                         (map (lambda (#{x\ 704}#)
-                                (cons #{r\ 693}#
-                                      (#{wrap\ 159}#
-                                        #{x\ 704}#
-                                        #{w\ 695}#
-                                        #{mod\ 692}#)))
-                              #{body\ 688}#)
-                         '()
-                         '()
-                         '()
-                         '()
-                         '()
-                         '())))))))
-           (#{chi-macro\ 170}#
-             (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\ 749}#)
-                                        (#{make-wrap\ 133}#
-                                          (cdr #{ms\ 752}#)
-                                          (if #{rib\ 746}#
-                                            (cons #{rib\ 746}#
-                                                  (cdr #{s\ 753}#))
-                                            (cdr #{s\ 753}#)))
-                                        (#{syntax-object-module\ 118}#
-                                          #{x\ 749}#))
-                                      (#{make-syntax-object\ 114}#
-                                        (#{syntax-object-expression\ 116}#
-                                          #{x\ 749}#)
-                                        (#{make-wrap\ 133}#
-                                          (cons #{m\ 750}# #{ms\ 752}#)
-                                          (if #{rib\ 746}#
-                                            (cons #{rib\ 746}#
-                                                  (cons 'shift
-                                                        #{s\ 753}#))
-                                            (cons (quote shift) #{s\ 753}#)))
-                                        (let ((#{pmod\ 754}#
-                                                (procedure-module #{p\ 742}#)))
-                                          (if #{pmod\ 754}#
-                                            (cons 'hygiene
-                                                  (module-name #{pmod\ 754}#))
-                                            '(hygiene guile)))))))
-                                (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\ 758}#
-                                                         #{n\ 755}#)
-                                                     (begin
-                                                       (if #f #f)
-                                                       #{v\ 756}#)
-                                                     (begin
-                                                       (vector-set!
-                                                         #{v\ 756}#
-                                                         #{i\ 758}#
-                                                         (#{rebuild-macro-output\ 748}#
-                                                           (vector-ref
-                                                             #{x\ 749}#
-                                                             #{i\ 758}#)
-                                                           #{m\ 750}#))
-                                                       (#{loop\ 757}#
-                                                         (#{fx+\ 86}#
-                                                           #{i\ 758}#
-                                                           1)))))))
-                                        (#{loop\ 757}# 0))))
-                                  (if (symbol? #{x\ 749}#)
-                                    (syntax-violation
-                                      #f
-                                      "encountered raw symbol in macro output"
-                                      (#{source-wrap\ 160}#
-                                        #{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\ 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\ 763}#
-                                  #{x\ 759}#
-                                  (map (lambda (#{e\ 769}#)
-                                         (#{chi\ 167}#
-                                           #{e\ 769}#
-                                           #{r\ 761}#
-                                           #{w\ 762}#
-                                           #{mod\ 764}#))
-                                       #{e1\ 768}#)))
-                              #{tmp\ 766}#)
-                       (syntax-violation
-                         #f
-                         "source expression failed to match any pattern"
-                         #{tmp\ 765}#)))
-                   ($sc-dispatch
-                     #{tmp\ 765}#
-                     '(any . each-any))))
-                #{e\ 760}#)))
-           (#{chi-expr\ 168}#
-             (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\ 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\ 772}# #{e\ 773}#))
-                       (lambda (#{id\ 778}# #{mod\ 779}#)
-                         (#{build-global-reference\ 101}#
-                           #{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\ 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\ 773}#))
-                             (if (#{syntax-object?\ 115}# #{value\ 772}#)
-                               (#{syntax-object-expression\ 116}#
-                                 #{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\ 776}#
-                             (#{strip\ 180}#
-                               (#{source-wrap\ 160}#
-                                 #{e\ 773}#
-                                 #{w\ 775}#
-                                 #{s\ 776}#
-                                 #{mod\ 777}#)
-                               '(())))
-                           (if (memv #{type\ 771}# (quote (global)))
-                             (#{build-global-reference\ 101}#
-                               #{s\ 776}#
-                               #{value\ 772}#
-                               #{mod\ 777}#)
-                             (if (memv #{type\ 771}# (quote (call)))
-                               (#{chi-application\ 169}#
-                                 (#{chi\ 167}#
-                                   (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\ 783}#
-                                                          #{e2\ 784}#)
-                                                    #{r\ 774}#
-                                                    #{w\ 775}#
-                                                    #{s\ 776}#
-                                                    #{mod\ 777}#))
-                                                #{tmp\ 781}#)
-                                         (syntax-violation
-                                           #f
-                                           "source expression failed to match any pattern"
-                                           #{tmp\ 780}#)))
-                                     ($sc-dispatch
-                                       #{tmp\ 780}#
-                                       '(any any . each-any))))
-                                  #{e\ 773}#)
-                                 (if (memv #{type\ 771}#
-                                           '(local-syntax-form))
-                                   (#{chi-local-syntax\ 172}#
-                                     #{value\ 772}#
-                                     #{e\ 773}#
-                                     #{r\ 774}#
-                                     #{w\ 775}#
-                                     #{s\ 776}#
-                                     #{mod\ 777}#
-                                     #{chi-sequence\ 161}#)
-                                   (if (memv #{type\ 771}#
-                                             '(eval-when-form))
-                                     ((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\ 773}#
-                                                                #{x\ 789}#
-                                                                #{w\ 775}#)))
-                                                        (if (memq 'eval
-                                                                  #{when-list\ 792}#)
-                                                          (#{chi-sequence\ 161}#
-                                                            (cons #{e1\ 790}#
-                                                                  #{e2\ 791}#)
-                                                            #{r\ 774}#
-                                                            #{w\ 775}#
-                                                            #{s\ 776}#
-                                                            #{mod\ 777}#)
-                                                          (#{chi-void\ 174}#))))
-                                                    #{tmp\ 787}#)
-                                             (syntax-violation
-                                               #f
-                                               "source expression failed to match any pattern"
-                                               #{tmp\ 786}#)))
-                                         ($sc-dispatch
-                                           #{tmp\ 786}#
-                                           '(any each-any any . each-any))))
-                                      #{e\ 773}#)
-                                     (if (memv #{type\ 771}#
-                                               '(define-form
-                                                  define-syntax-form))
-                                       (syntax-violation
-                                         #f
-                                         "definition in expression context"
-                                         #{e\ 773}#
-                                         (#{wrap\ 159}#
-                                           #{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\ 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\ 773}#
-                                               #{w\ 775}#
-                                               #{s\ 776}#
-                                               #{mod\ 777}#))
-                                           (syntax-violation
-                                             #f
-                                             "unexpected syntax"
-                                             (#{source-wrap\ 160}#
-                                               #{e\ 773}#
-                                               #{w\ 775}#
-                                               #{s\ 776}#
-                                               #{mod\ 777}#))))))))))))))))))
-           (#{chi\ 167}#
-             (lambda (#{e\ 795}# #{r\ 796}# #{w\ 797}# #{mod\ 798}#)
-               (call-with-values
-                 (lambda ()
-                   (#{syntax-type\ 165}#
-                     #{e\ 795}#
-                     #{r\ 796}#
-                     #{w\ 797}#
-                     (#{source-annotation\ 122}# #{e\ 795}#)
-                     #f
-                     #{mod\ 798}#
-                     #f))
-                 (lambda (#{type\ 799}#
-                          #{value\ 800}#
-                          #{e\ 801}#
-                          #{w\ 802}#
-                          #{s\ 803}#
-                          #{mod\ 804}#)
-                   (#{chi-expr\ 168}#
-                     #{type\ 799}#
-                     #{value\ 800}#
-                     #{e\ 801}#
-                     #{r\ 796}#
-                     #{w\ 802}#
-                     #{s\ 803}#
-                     #{mod\ 804}#)))))
-           (#{chi-top\ 166}#
-             (lambda (#{e\ 805}#
-                      #{r\ 806}#
-                      #{w\ 807}#
-                      #{m\ 808}#
-                      #{esew\ 809}#
-                      #{mod\ 810}#)
-               (call-with-values
-                 (lambda ()
-                   (#{syntax-type\ 165}#
-                     #{e\ 805}#
-                     #{r\ 806}#
-                     #{w\ 807}#
-                     (#{source-annotation\ 122}# #{e\ 805}#)
-                     #f
-                     #{mod\ 810}#
-                     #f))
-                 (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\ 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\ 824}#)))
-                              ($sc-dispatch
-                                #{tmp\ 824}#
-                                '(any any . each-any)))))
-                         ($sc-dispatch #{tmp\ 824}# (quote (any)))))
-                      #{e\ 820}#)
-                     (if (memv #{type\ 818}# (quote (local-syntax-form)))
-                       (#{chi-local-syntax\ 172}#
-                         #{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\ 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\ 820}#
-                                                    #{x\ 840}#
-                                                    #{w\ 821}#))
-                                                (#{body\ 844}#
-                                                  (cons #{e1\ 841}#
-                                                        #{e2\ 842}#)))
-                                            (if (eq? #{m\ 808}# (quote e))
-                                              (if (memq 'eval
-                                                        #{when-list\ 843}#)
-                                                (#{chi-top-sequence\ 162}#
-                                                  #{body\ 844}#
-                                                  #{r\ 806}#
-                                                  #{w\ 821}#
-                                                  #{s\ 822}#
-                                                  'e
-                                                  '(eval)
-                                                  #{mod\ 823}#)
-                                                (#{chi-void\ 174}#))
-                                              (if (memq 'load
-                                                        #{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\ 843}#)
-                                                          #f)))
-                                                  (#{chi-top-sequence\ 162}#
-                                                    #{body\ 844}#
-                                                    #{r\ 806}#
-                                                    #{w\ 821}#
-                                                    #{s\ 822}#
-                                                    'c&e
-                                                    '(compile load)
-                                                    #{mod\ 823}#)
-                                                  (if (memq #{m\ 808}#
-                                                            '(c c&e))
-                                                    (#{chi-top-sequence\ 162}#
-                                                      #{body\ 844}#
-                                                      #{r\ 806}#
-                                                      #{w\ 821}#
-                                                      #{s\ 822}#
-                                                      'c
-                                                      '(load)
-                                                      #{mod\ 823}#)
-                                                    (#{chi-void\ 174}#)))
-                                                (if (let ((#{t\ 848}# (memq 'compile
-                                                                            #{when-list\ 843}#)))
-                                                      (if #{t\ 848}#
-                                                        #{t\ 848}#
-                                                        (if (eq? #{m\ 808}#
-                                                                 'c&e)
-                                                          (memq 'eval
-                                                                #{when-list\ 843}#)
-                                                          #f)))
-                                                  (begin
-                                                    (#{top-level-eval-hook\ 90}#
-                                                      (#{chi-top-sequence\ 162}#
-                                                        #{body\ 844}#
-                                                        #{r\ 806}#
-                                                        #{w\ 821}#
-                                                        #{s\ 822}#
-                                                        'e
-                                                        '(eval)
-                                                        #{mod\ 823}#)
-                                                      #{mod\ 823}#)
-                                                    (#{chi-void\ 174}#))
-                                                  (#{chi-void\ 174}#))))))
-                                        #{tmp\ 838}#)
-                                 (syntax-violation
-                                   #f
-                                   "source expression failed to match any pattern"
-                                   #{tmp\ 837}#)))
-                             ($sc-dispatch
-                               #{tmp\ 837}#
-                               '(any each-any any . each-any))))
-                          #{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\ 820}#
-                                                       #{r\ 850}#
-                                                       #{w\ 821}#
-                                                       #{mod\ 823}#))))
-                                   (begin
-                                     (#{top-level-eval-hook\ 90}#
-                                       #{e\ 851}#
-                                       #{mod\ 823}#)
-                                     (if (memq (quote load) #{esew\ 809}#)
-                                       #{e\ 851}#
-                                       (#{chi-void\ 174}#))))
-                                 (if (memq (quote load) #{esew\ 809}#)
-                                   (#{chi-install-global\ 163}#
-                                     #{n\ 849}#
-                                     (#{chi\ 167}#
-                                       #{e\ 820}#
-                                       #{r\ 850}#
-                                       #{w\ 821}#
-                                       #{mod\ 823}#))
-                                   (#{chi-void\ 174}#)))
-                               (if (memv #{m\ 808}# (quote (c&e)))
-                                 (let ((#{e\ 852}# (#{chi-install-global\ 163}#
-                                                     #{n\ 849}#
-                                                     (#{chi\ 167}#
-                                                       #{e\ 820}#
-                                                       #{r\ 850}#
-                                                       #{w\ 821}#
-                                                       #{mod\ 823}#))))
-                                   (begin
-                                     (#{top-level-eval-hook\ 90}#
-                                       #{e\ 852}#
-                                       #{mod\ 823}#)
-                                     #{e\ 852}#))
-                                 (begin
-                                   (if (memq (quote eval) #{esew\ 809}#)
-                                     (#{top-level-eval-hook\ 90}#
-                                       (#{chi-install-global\ 163}#
-                                         #{n\ 849}#
-                                         (#{chi\ 167}#
-                                           #{e\ 820}#
-                                           #{r\ 850}#
-                                           #{w\ 821}#
-                                           #{mod\ 823}#))
-                                       #{mod\ 823}#))
-                                   (#{chi-void\ 174}#)))))
-                           (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\ 853}#
-                                           #{r\ 806}#
-                                           #{mod\ 823}#))))
-                                 (if (memv #{type\ 854}#
-                                           '(global core macro module-ref))
-                                   (begin
-                                     (if (if (not (module-local-variable
-                                                    (current-module)
-                                                    #{n\ 853}#))
-                                           (current-module)
-                                           #f)
-                                       (let ((#{old\ 855}#
-                                               (module-variable
-                                                 (current-module)
-                                                 #{n\ 853}#)))
-                                         (module-define!
-                                           (current-module)
-                                           #{n\ 853}#
-                                           (if (variable? #{old\ 855}#)
-                                             (variable-ref #{old\ 855}#)
-                                             #f))))
-                                     (let ((#{x\ 856}# (#{build-global-definition\ 104}#
-                                                         #{s\ 822}#
-                                                         #{n\ 853}#
-                                                         (#{chi\ 167}#
-                                                           #{e\ 820}#
-                                                           #{r\ 806}#
-                                                           #{w\ 821}#
-                                                           #{mod\ 823}#))))
-                                       (begin
-                                         (if (eq? #{m\ 808}# (quote c&e))
-                                           (#{top-level-eval-hook\ 90}#
-                                             #{x\ 856}#
-                                             #{mod\ 823}#))
-                                         #{x\ 856}#)))
-                                   (if (memv #{type\ 854}#
-                                             '(displaced-lexical))
-                                     (syntax-violation
-                                       #f
-                                       "identifier out of context"
-                                       #{e\ 820}#
-                                       (#{wrap\ 159}#
-                                         #{value\ 819}#
-                                         #{w\ 821}#
-                                         #{mod\ 823}#))
-                                     (syntax-violation
-                                       #f
-                                       "cannot define keyword at top level"
-                                       #{e\ 820}#
-                                       (#{wrap\ 159}#
-                                         #{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\ 808}# (quote c&e))
-                                   (#{top-level-eval-hook\ 90}#
-                                     #{x\ 857}#
-                                     #{mod\ 823}#))
-                                 #{x\ 857}#)))))))))))
-           (#{syntax-type\ 165}#
-             (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\ 867}#
-                           (#{binding-value\ 124}# #{b\ 866}#)
-                           #{e\ 858}#
-                           #{w\ 860}#
-                           #{s\ 861}#
-                           #{mod\ 863}#)
-                         (if (memv #{type\ 867}# (quote (global)))
-                           (values
-                             #{type\ 867}#
-                             #{n\ 865}#
-                             #{e\ 858}#
-                             #{w\ 860}#
-                             #{s\ 861}#
-                             #{mod\ 863}#)
-                           (if (memv #{type\ 867}# (quote (macro)))
-                             (if #{for-car?\ 864}#
-                               (values
-                                 #{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\ 866}#)
-                                   #{e\ 858}#
-                                   #{r\ 859}#
-                                   #{w\ 860}#
-                                   #{rib\ 862}#
-                                   #{mod\ 863}#)
-                                 #{r\ 859}#
-                                 '(())
-                                 #{s\ 861}#
-                                 #{rib\ 862}#
-                                 #{mod\ 863}#
-                                 #f))
-                             (values
-                               #{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\ 868}#
-                           #{r\ 859}#
-                           #{w\ 860}#
-                           #{s\ 861}#
-                           #{rib\ 862}#
-                           #{mod\ 863}#
-                           #t))
-                       (lambda (#{ftype\ 869}#
-                                #{fval\ 870}#
-                                #{fe\ 871}#
-                                #{fw\ 872}#
-                                #{fs\ 873}#
-                                #{fmod\ 874}#)
-                         (if (memv #{ftype\ 869}# (quote (lexical)))
-                           (values
-                             'lexical-call
-                             #{fval\ 870}#
-                             #{e\ 858}#
-                             #{w\ 860}#
-                             #{s\ 861}#
-                             #{mod\ 863}#)
-                           (if (memv #{ftype\ 869}# (quote (global)))
-                             (values
-                               'global-call
-                               (#{make-syntax-object\ 114}#
-                                 #{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\ 870}#
-                                   #{e\ 858}#
-                                   #{r\ 859}#
-                                   #{w\ 860}#
-                                   #{rib\ 862}#
-                                   #{mod\ 863}#)
-                                 #{r\ 859}#
-                                 '(())
-                                 #{s\ 861}#
-                                 #{rib\ 862}#
-                                 #{mod\ 863}#
-                                 #{for-car?\ 864}#)
-                               (if (memv #{ftype\ 869}# (quote (module-ref)))
-                                 (call-with-values
-                                   (lambda () (#{fval\ 870}# #{e\ 858}#))
-                                   (lambda (#{sym\ 875}# #{mod\ 876}#)
-                                     (#{syntax-type\ 165}#
-                                       #{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\ 870}#
-                                     #{e\ 858}#
-                                     #{w\ 860}#
-                                     #{s\ 861}#
-                                     #{mod\ 863}#)
-                                   (if (memv #{ftype\ 869}#
-                                             '(local-syntax))
-                                     (values
-                                       'local-syntax-form
-                                       #{fval\ 870}#
-                                       #{e\ 858}#
-                                       #{w\ 860}#
-                                       #{s\ 861}#
-                                       #{mod\ 863}#)
-                                     (if (memv #{ftype\ 869}# (quote (begin)))
-                                       (values
-                                         'begin-form
-                                         #f
-                                         #{e\ 858}#
-                                         #{w\ 860}#
-                                         #{s\ 861}#
-                                         #{mod\ 863}#)
-                                       (if (memv #{ftype\ 869}#
-                                                 '(eval-when))
-                                         (values
-                                           'eval-when-form
-                                           #f
-                                           #{e\ 858}#
-                                           #{w\ 860}#
-                                           #{s\ 861}#
-                                           #{mod\ 863}#)
-                                         (if (memv #{ftype\ 869}#
-                                                   '(define))
-                                           ((lambda (#{tmp\ 877}#)
-                                              ((lambda (#{tmp\ 878}#)
-                                                 (if (if #{tmp\ 878}#
-                                                       (apply (lambda (#{_\ 879}#
-                                                                       #{name\ 880}#
-                                                                       #{val\ 881}#)
-                                                                (#{id?\ 131}#
-                                                                  #{name\ 880}#))
-                                                              #{tmp\ 878}#)
-                                                       #f)
-                                                   (apply (lambda (#{_\ 882}#
-                                                                   #{name\ 883}#
-                                                                   #{val\ 884}#)
-                                                            (values
-                                                              'define-form
-                                                              #{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\ 887}#)
-                                                                       (#{valid-bound-ids?\ 156}#
-                                                                         (#{lambda-var-list\ 182}#
-                                                                           #{args\ 888}#))
-                                                                       #f))
-                                                                   #{tmp\ 885}#)
-                                                            #f)
-                                                        (apply (lambda (#{_\ 891}#
-                                                                        #{name\ 892}#
-                                                                        #{args\ 893}#
-                                                                        #{e1\ 894}#
-                                                                        #{e2\ 895}#)
-                                                                 (values
-                                                                   'define-form
-                                                                   (#{wrap\ 159}#
-                                                                     #{name\ 892}#
-                                                                     #{w\ 860}#
-                                                                     #{mod\ 863}#)
-                                                                   (#{decorate-source\ 94}#
-                                                                     (cons '#(syntax-object
-                                                                              lambda
-                                                                              ((top)
-                                                                               #(ribcage
-                                                                                 #(_
-                                                                                   name
-                                                                                   args
-                                                                                   e1
-                                                                                   e2)
-                                                                                 #((top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top))
-                                                                                 #("i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"))
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 #(ftype
-                                                                                   fval
-                                                                                   fe
-                                                                                   fw
-                                                                                   fs
-                                                                                   fmod)
-                                                                                 #((top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top))
-                                                                                 #("i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"))
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 #(first)
-                                                                                 #((top))
-                                                                                 #("i"))
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 #(e
-                                                                                   r
-                                                                                   w
-                                                                                   s
-                                                                                   rib
-                                                                                   mod
-                                                                                   for-car?)
-                                                                                 #((top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top))
-                                                                                 #("i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"))
-                                                                               #(ribcage
-                                                                                 (lambda-var-list
-                                                                                   gen-var
-                                                                                   strip
-                                                                                   chi-lambda-case
-                                                                                   lambda*-formals
-                                                                                   chi-simple-lambda
-                                                                                   lambda-formals
-                                                                                   ellipsis?
-                                                                                   chi-void
-                                                                                   eval-local-transformer
-                                                                                   chi-local-syntax
-                                                                                   chi-body
-                                                                                   chi-macro
-                                                                                   chi-application
-                                                                                   chi-expr
-                                                                                   chi
-                                                                                   chi-top
-                                                                                   syntax-type
-                                                                                   chi-when-list
-                                                                                   chi-install-global
-                                                                                   chi-top-sequence
-                                                                                   chi-sequence
-                                                                                   source-wrap
-                                                                                   wrap
-                                                                                   bound-id-member?
-                                                                                   distinct-bound-ids?
-                                                                                   valid-bound-ids?
-                                                                                   bound-id=?
-                                                                                   free-id=?
-                                                                                   id-var-name
-                                                                                   same-marks?
-                                                                                   join-marks
-                                                                                   join-wraps
-                                                                                   smart-append
-                                                                                   make-binding-wrap
-                                                                                   extend-ribcage!
-                                                                                   make-empty-ribcage
-                                                                                   new-mark
-                                                                                   anti-mark
-                                                                                   the-anti-mark
-                                                                                   top-marked?
-                                                                                   top-wrap
-                                                                                   empty-wrap
-                                                                                   set-ribcage-labels!
-                                                                                   set-ribcage-marks!
-                                                                                   set-ribcage-symnames!
-                                                                                   ribcage-labels
-                                                                                   ribcage-marks
-                                                                                   ribcage-symnames
-                                                                                   ribcage?
-                                                                                   make-ribcage
-                                                                                   gen-labels
-                                                                                   gen-label
-                                                                                   make-rename
-                                                                                   rename-marks
-                                                                                   rename-new
-                                                                                   rename-old
-                                                                                   subst-rename?
-                                                                                   wrap-subst
-                                                                                   wrap-marks
-                                                                                   make-wrap
-                                                                                   id-sym-name&marks
-                                                                                   id-sym-name
-                                                                                   id?
-                                                                                   nonsymbol-id?
-                                                                                   global-extend
-                                                                                   lookup
-                                                                                   macros-only-env
-                                                                                   extend-var-env
-                                                                                   extend-env
-                                                                                   null-env
-                                                                                   binding-value
-                                                                                   binding-type
-                                                                                   make-binding
-                                                                                   arg-check
-                                                                                   source-annotation
-                                                                                   no-source
-                                                                                   set-syntax-object-module!
-                                                                                   set-syntax-object-wrap!
-                                                                                   set-syntax-object-expression!
-                                                                                   syntax-object-module
-                                                                                   syntax-object-wrap
-                                                                                   syntax-object-expression
-                                                                                   syntax-object?
-                                                                                   make-syntax-object
-                                                                                   build-lexical-var
-                                                                                   build-letrec
-                                                                                   build-named-let
-                                                                                   build-let
-                                                                                   build-sequence
-                                                                                   build-data
-                                                                                   build-primref
-                                                                                   build-lambda-case
-                                                                                   build-case-lambda
-                                                                                   build-simple-lambda
-                                                                                   build-global-definition
-                                                                                   maybe-name-value!
-                                                                                   build-global-assignment
-                                                                                   build-global-reference
-                                                                                   analyze-variable
-                                                                                   build-lexical-assignment
-                                                                                   build-lexical-reference
-                                                                                   build-conditional
-                                                                                   build-application
-                                                                                   build-void
-                                                                                   decorate-source
-                                                                                   get-global-definition-hook
-                                                                                   put-global-definition-hook
-                                                                                   gensym-hook
-                                                                                   local-eval-hook
-                                                                                   top-level-eval-hook
-                                                                                   fx<
-                                                                                   fx=
-                                                                                   fx-
-                                                                                   fx+
-                                                                                   *mode*
-                                                                                   noexpand)
-                                                                                 ((top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                 ("i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                               #(ribcage
-                                                                                 (define-structure
-                                                                                   and-map*)
-                                                                                 ((top)
-                                                                                  (top))
-                                                                                 ("i"
-                                                                                  "i")))
-                                                                              (hygiene
-                                                                                guile))
-                                                                           (#{wrap\ 159}#
-                                                                             (cons #{args\ 893}#
-                                                                                   (cons #{e1\ 894}#
-                                                                                         #{e2\ 895}#))
-                                                                             #{w\ 860}#
-                                                                             #{mod\ 863}#))
-                                                                     #{s\ 861}#)
-                                                                   '(())
-                                                                   #{s\ 861}#
-                                                                   #{mod\ 863}#))
-                                                               #{tmp\ 885}#)
-                                                        ((lambda (#{tmp\ 897}#)
-                                                           (if (if #{tmp\ 897}#
-                                                                 (apply (lambda (#{_\ 898}#
-                                                                                 #{name\ 899}#)
-                                                                          (#{id?\ 131}#
-                                                                            #{name\ 899}#))
-                                                                        #{tmp\ 897}#)
-                                                                 #f)
-                                                             (apply (lambda (#{_\ 900}#
-                                                                             #{name\ 901}#)
-                                                                      (values
-                                                                        'define-form
-                                                                        (#{wrap\ 159}#
-                                                                          #{name\ 901}#
-                                                                          #{w\ 860}#
-                                                                          #{mod\ 863}#)
-                                                                        '(#(syntax-object
-                                                                            if
-                                                                            ((top)
-                                                                             #(ribcage
-                                                                               #(_
-                                                                                 name)
-                                                                               #((top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(ftype
-                                                                                 fval
-                                                                                 fe
-                                                                                 fw
-                                                                                 fs
-                                                                                 fmod)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(first)
-                                                                               #((top))
-                                                                               #("i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(e
-                                                                                 r
-                                                                                 w
-                                                                                 s
-                                                                                 rib
-                                                                                 mod
-                                                                                 for-car?)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               (lambda-var-list
-                                                                                 gen-var
-                                                                                 strip
-                                                                                 chi-lambda-case
-                                                                                 lambda*-formals
-                                                                                 chi-simple-lambda
-                                                                                 lambda-formals
-                                                                                 ellipsis?
-                                                                                 chi-void
-                                                                                 eval-local-transformer
-                                                                                 chi-local-syntax
-                                                                                 chi-body
-                                                                                 chi-macro
-                                                                                 chi-application
-                                                                                 chi-expr
-                                                                                 chi
-                                                                                 chi-top
-                                                                                 syntax-type
-                                                                                 chi-when-list
-                                                                                 chi-install-global
-                                                                                 chi-top-sequence
-                                                                                 chi-sequence
-                                                                                 source-wrap
-                                                                                 wrap
-                                                                                 bound-id-member?
-                                                                                 distinct-bound-ids?
-                                                                                 valid-bound-ids?
-                                                                                 bound-id=?
-                                                                                 free-id=?
-                                                                                 id-var-name
-                                                                                 same-marks?
-                                                                                 join-marks
-                                                                                 join-wraps
-                                                                                 smart-append
-                                                                                 make-binding-wrap
-                                                                                 extend-ribcage!
-                                                                                 make-empty-ribcage
-                                                                                 new-mark
-                                                                                 anti-mark
-                                                                                 the-anti-mark
-                                                                                 top-marked?
-                                                                                 top-wrap
-                                                                                 empty-wrap
-                                                                                 set-ribcage-labels!
-                                                                                 set-ribcage-marks!
-                                                                                 set-ribcage-symnames!
-                                                                                 ribcage-labels
-                                                                                 ribcage-marks
-                                                                                 ribcage-symnames
-                                                                                 ribcage?
-                                                                                 make-ribcage
-                                                                                 gen-labels
-                                                                                 gen-label
-                                                                                 make-rename
-                                                                                 rename-marks
-                                                                                 rename-new
-                                                                                 rename-old
-                                                                                 subst-rename?
-                                                                                 wrap-subst
-                                                                                 wrap-marks
-                                                                                 make-wrap
-                                                                                 id-sym-name&marks
-                                                                                 id-sym-name
-                                                                                 id?
-                                                                                 nonsymbol-id?
-                                                                                 global-extend
-                                                                                 lookup
-                                                                                 macros-only-env
-                                                                                 extend-var-env
-                                                                                 extend-env
-                                                                                 null-env
-                                                                                 binding-value
-                                                                                 binding-type
-                                                                                 make-binding
-                                                                                 arg-check
-                                                                                 source-annotation
-                                                                                 no-source
-                                                                                 set-syntax-object-module!
-                                                                                 set-syntax-object-wrap!
-                                                                                 set-syntax-object-expression!
-                                                                                 syntax-object-module
-                                                                                 syntax-object-wrap
-                                                                                 syntax-object-expression
-                                                                                 syntax-object?
-                                                                                 make-syntax-object
-                                                                                 build-lexical-var
-                                                                                 build-letrec
-                                                                                 build-named-let
-                                                                                 build-let
-                                                                                 build-sequence
-                                                                                 build-data
-                                                                                 build-primref
-                                                                                 build-lambda-case
-                                                                                 build-case-lambda
-                                                                                 build-simple-lambda
-                                                                                 build-global-definition
-                                                                                 maybe-name-value!
-                                                                                 build-global-assignment
-                                                                                 build-global-reference
-                                                                                 analyze-variable
-                                                                                 build-lexical-assignment
-                                                                                 build-lexical-reference
-                                                                                 build-conditional
-                                                                                 build-application
-                                                                                 build-void
-                                                                                 decorate-source
-                                                                                 get-global-definition-hook
-                                                                                 put-global-definition-hook
-                                                                                 gensym-hook
-                                                                                 local-eval-hook
-                                                                                 top-level-eval-hook
-                                                                                 fx<
-                                                                                 fx=
-                                                                                 fx-
-                                                                                 fx+
-                                                                                 *mode*
-                                                                                 noexpand)
-                                                                               ((top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top))
-                                                                               ("i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"))
-                                                                             #(ribcage
-                                                                               (define-structure
-                                                                                 and-map*)
-                                                                               ((top)
-                                                                                (top))
-                                                                               ("i"
-                                                                                "i")))
-                                                                            (hygiene
-                                                                              guile))
-                                                                          #(syntax-object
-                                                                            #f
-                                                                            ((top)
-                                                                             #(ribcage
-                                                                               #(_
-                                                                                 name)
-                                                                               #((top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(ftype
-                                                                                 fval
-                                                                                 fe
-                                                                                 fw
-                                                                                 fs
-                                                                                 fmod)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(first)
-                                                                               #((top))
-                                                                               #("i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(e
-                                                                                 r
-                                                                                 w
-                                                                                 s
-                                                                                 rib
-                                                                                 mod
-                                                                                 for-car?)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               (lambda-var-list
-                                                                                 gen-var
-                                                                                 strip
-                                                                                 chi-lambda-case
-                                                                                 lambda*-formals
-                                                                                 chi-simple-lambda
-                                                                                 lambda-formals
-                                                                                 ellipsis?
-                                                                                 chi-void
-                                                                                 eval-local-transformer
-                                                                                 chi-local-syntax
-                                                                                 chi-body
-                                                                                 chi-macro
-                                                                                 chi-application
-                                                                                 chi-expr
-                                                                                 chi
-                                                                                 chi-top
-                                                                                 syntax-type
-                                                                                 chi-when-list
-                                                                                 chi-install-global
-                                                                                 chi-top-sequence
-                                                                                 chi-sequence
-                                                                                 source-wrap
-                                                                                 wrap
-                                                                                 bound-id-member?
-                                                                                 distinct-bound-ids?
-                                                                                 valid-bound-ids?
-                                                                                 bound-id=?
-                                                                                 free-id=?
-                                                                                 id-var-name
-                                                                                 same-marks?
-                                                                                 join-marks
-                                                                                 join-wraps
-                                                                                 smart-append
-                                                                                 make-binding-wrap
-                                                                                 extend-ribcage!
-                                                                                 make-empty-ribcage
-                                                                                 new-mark
-                                                                                 anti-mark
-                                                                                 the-anti-mark
-                                                                                 top-marked?
-                                                                                 top-wrap
-                                                                                 empty-wrap
-                                                                                 set-ribcage-labels!
-                                                                                 set-ribcage-marks!
-                                                                                 set-ribcage-symnames!
-                                                                                 ribcage-labels
-                                                                                 ribcage-marks
-                                                                                 ribcage-symnames
-                                                                                 ribcage?
-                                                                                 make-ribcage
-                                                                                 gen-labels
-                                                                                 gen-label
-                                                                                 make-rename
-                                                                                 rename-marks
-                                                                                 rename-new
-                                                                                 rename-old
-                                                                                 subst-rename?
-                                                                                 wrap-subst
-                                                                                 wrap-marks
-                                                                                 make-wrap
-                                                                                 id-sym-name&marks
-                                                                                 id-sym-name
-                                                                                 id?
-                                                                                 nonsymbol-id?
-                                                                                 global-extend
-                                                                                 lookup
-                                                                                 macros-only-env
-                                                                                 extend-var-env
-                                                                                 extend-env
-                                                                                 null-env
-                                                                                 binding-value
-                                                                                 binding-type
-                                                                                 make-binding
-                                                                                 arg-check
-                                                                                 source-annotation
-                                                                                 no-source
-                                                                                 set-syntax-object-module!
-                                                                                 set-syntax-object-wrap!
-                                                                                 set-syntax-object-expression!
-                                                                                 syntax-object-module
-                                                                                 syntax-object-wrap
-                                                                                 syntax-object-expression
-                                                                                 syntax-object?
-                                                                                 make-syntax-object
-                                                                                 build-lexical-var
-                                                                                 build-letrec
-                                                                                 build-named-let
-                                                                                 build-let
-                                                                                 build-sequence
-                                                                                 build-data
-                                                                                 build-primref
-                                                                                 build-lambda-case
-                                                                                 build-case-lambda
-                                                                                 build-simple-lambda
-                                                                                 build-global-definition
-                                                                                 maybe-name-value!
-                                                                                 build-global-assignment
-                                                                                 build-global-reference
-                                                                                 analyze-variable
-                                                                                 build-lexical-assignment
-                                                                                 build-lexical-reference
-                                                                                 build-conditional
-                                                                                 build-application
-                                                                                 build-void
-                                                                                 decorate-source
-                                                                                 get-global-definition-hook
-                                                                                 put-global-definition-hook
-                                                                                 gensym-hook
-                                                                                 local-eval-hook
-                                                                                 top-level-eval-hook
-                                                                                 fx<
-                                                                                 fx=
-                                                                                 fx-
-                                                                                 fx+
-                                                                                 *mode*
-                                                                                 noexpand)
-                                                                               ((top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top))
-                                                                               ("i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"))
-                                                                             #(ribcage
-                                                                               (define-structure
-                                                                                 and-map*)
-                                                                               ((top)
-                                                                                (top))
-                                                                               ("i"
-                                                                                "i")))
-                                                                            (hygiene
-                                                                              guile))
-                                                                          #(syntax-object
-                                                                            #f
-                                                                            ((top)
-                                                                             #(ribcage
-                                                                               #(_
-                                                                                 name)
-                                                                               #((top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(ftype
-                                                                                 fval
-                                                                                 fe
-                                                                                 fw
-                                                                                 fs
-                                                                                 fmod)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(first)
-                                                                               #((top))
-                                                                               #("i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(e
-                                                                                 r
-                                                                                 w
-                                                                                 s
-                                                                                 rib
-                                                                                 mod
-                                                                                 for-car?)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               (lambda-var-list
-                                                                                 gen-var
-                                                                                 strip
-                                                                                 chi-lambda-case
-                                                                                 lambda*-formals
-                                                                                 chi-simple-lambda
-                                                                                 lambda-formals
-                                                                                 ellipsis?
-                                                                                 chi-void
-                                                                                 eval-local-transformer
-                                                                                 chi-local-syntax
-                                                                                 chi-body
-                                                                                 chi-macro
-                                                                                 chi-application
-                                                                                 chi-expr
-                                                                                 chi
-                                                                                 chi-top
-                                                                                 syntax-type
-                                                                                 chi-when-list
-                                                                                 chi-install-global
-                                                                                 chi-top-sequence
-                                                                                 chi-sequence
-                                                                                 source-wrap
-                                                                                 wrap
-                                                                                 bound-id-member?
-                                                                                 distinct-bound-ids?
-                                                                                 valid-bound-ids?
-                                                                                 bound-id=?
-                                                                                 free-id=?
-                                                                                 id-var-name
-                                                                                 same-marks?
-                                                                                 join-marks
-                                                                                 join-wraps
-                                                                                 smart-append
-                                                                                 make-binding-wrap
-                                                                                 extend-ribcage!
-                                                                                 make-empty-ribcage
-                                                                                 new-mark
-                                                                                 anti-mark
-                                                                                 the-anti-mark
-                                                                                 top-marked?
-                                                                                 top-wrap
-                                                                                 empty-wrap
-                                                                                 set-ribcage-labels!
-                                                                                 set-ribcage-marks!
-                                                                                 set-ribcage-symnames!
-                                                                                 ribcage-labels
-                                                                                 ribcage-marks
-                                                                                 ribcage-symnames
-                                                                                 ribcage?
-                                                                                 make-ribcage
-                                                                                 gen-labels
-                                                                                 gen-label
-                                                                                 make-rename
-                                                                                 rename-marks
-                                                                                 rename-new
-                                                                                 rename-old
-                                                                                 subst-rename?
-                                                                                 wrap-subst
-                                                                                 wrap-marks
-                                                                                 make-wrap
-                                                                                 id-sym-name&marks
-                                                                                 id-sym-name
-                                                                                 id?
-                                                                                 nonsymbol-id?
-                                                                                 global-extend
-                                                                                 lookup
-                                                                                 macros-only-env
-                                                                                 extend-var-env
-                                                                                 extend-env
-                                                                                 null-env
-                                                                                 binding-value
-                                                                                 binding-type
-                                                                                 make-binding
-                                                                                 arg-check
-                                                                                 source-annotation
-                                                                                 no-source
-                                                                                 set-syntax-object-module!
-                                                                                 set-syntax-object-wrap!
-                                                                                 set-syntax-object-expression!
-                                                                                 syntax-object-module
-                                                                                 syntax-object-wrap
-                                                                                 syntax-object-expression
-                                                                                 syntax-object?
-                                                                                 make-syntax-object
-                                                                                 build-lexical-var
-                                                                                 build-letrec
-                                                                                 build-named-let
-                                                                                 build-let
-                                                                                 build-sequence
-                                                                                 build-data
-                                                                                 build-primref
-                                                                                 build-lambda-case
-                                                                                 build-case-lambda
-                                                                                 build-simple-lambda
-                                                                                 build-global-definition
-                                                                                 maybe-name-value!
-                                                                                 build-global-assignment
-                                                                                 build-global-reference
-                                                                                 analyze-variable
-                                                                                 build-lexical-assignment
-                                                                                 build-lexical-reference
-                                                                                 build-conditional
-                                                                                 build-application
-                                                                                 build-void
-                                                                                 decorate-source
-                                                                                 get-global-definition-hook
-                                                                                 put-global-definition-hook
-                                                                                 gensym-hook
-                                                                                 local-eval-hook
-                                                                                 top-level-eval-hook
-                                                                                 fx<
-                                                                                 fx=
-                                                                                 fx-
-                                                                                 fx+
-                                                                                 *mode*
-                                                                                 noexpand)
-                                                                               ((top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top)
-                                                                                (top))
-                                                                               ("i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"
-                                                                                "i"))
-                                                                             #(ribcage
-                                                                               (define-structure
-                                                                                 and-map*)
-                                                                               ((top)
-                                                                                (top))
-                                                                               ("i"
-                                                                                "i")))
-                                                                            (hygiene
-                                                                              guile)))
-                                                                        '(())
-                                                                        #{s\ 861}#
-                                                                        #{mod\ 863}#))
-                                                                    #{tmp\ 897}#)
-                                                             (syntax-violation
-                                                               #f
-                                                               "source expression failed to match any pattern"
-                                                               #{tmp\ 877}#)))
-                                                         ($sc-dispatch
-                                                           #{tmp\ 877}#
-                                                           '(any any)))))
-                                                    ($sc-dispatch
-                                                      #{tmp\ 877}#
-                                                      '(any (any . any)
-                                                            any
-                                                            .
-                                                            each-any)))))
-                                               ($sc-dispatch
-                                                 #{tmp\ 877}#
-                                                 '(any any any))))
-                                            #{e\ 858}#)
-                                           (if (memv #{ftype\ 869}#
-                                                     '(define-syntax))
-                                             ((lambda (#{tmp\ 902}#)
-                                                ((lambda (#{tmp\ 903}#)
-                                                   (if (if #{tmp\ 903}#
-                                                         (apply (lambda (#{_\ 904}#
-                                                                         #{name\ 905}#
-                                                                         #{val\ 906}#)
-                                                                  (#{id?\ 131}#
-                                                                    #{name\ 905}#))
-                                                                #{tmp\ 903}#)
-                                                         #f)
-                                                     (apply (lambda (#{_\ 907}#
-                                                                     #{name\ 908}#
-                                                                     #{val\ 909}#)
-                                                              (values
-                                                                'define-syntax-form
-                                                                #{name\ 908}#
-                                                                #{val\ 909}#
-                                                                #{w\ 860}#
-                                                                #{s\ 861}#
-                                                                #{mod\ 863}#))
-                                                            #{tmp\ 903}#)
-                                                     (syntax-violation
-                                                       #f
-                                                       "source expression failed to match any pattern"
-                                                       #{tmp\ 902}#)))
-                                                 ($sc-dispatch
-                                                   #{tmp\ 902}#
-                                                   '(any any any))))
-                                              #{e\ 858}#)
-                                             (values
-                                               'call
-                                               #f
-                                               #{e\ 858}#
-                                               #{w\ 860}#
-                                               #{s\ 861}#
-                                               #{mod\ 863}#))))))))))))))
-                   (if (#{syntax-object?\ 115}# #{e\ 858}#)
-                     (#{syntax-type\ 165}#
-                       (#{syntax-object-expression\ 116}# #{e\ 858}#)
-                       #{r\ 859}#
-                       (#{join-wraps\ 150}#
-                         #{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\ 858}#
-                         #{w\ 860}#
-                         #{s\ 861}#
-                         #{mod\ 863}#)
-                       (values
-                         'other
-                         #f
-                         #{e\ 858}#
-                         #{w\ 860}#
-                         #{s\ 861}#
-                         #{mod\ 863}#)))))))
-           (#{chi-when-list\ 164}#
-             (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\ 917}#
-                                                                  '#(syntax-object
-                                                                     compile
-                                                                     ((top)
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        #(x)
-                                                                        #((top))
-                                                                        #("i"))
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        #(f
-                                                                          when-list
-                                                                          situations)
-                                                                        #((top)
-                                                                          (top)
-                                                                          (top))
-                                                                        #("i"
-                                                                          "i"
-                                                                          "i"))
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        #(e
-                                                                          when-list
-                                                                          w)
-                                                                        #((top)
-                                                                          (top)
-                                                                          (top))
-                                                                        #("i"
-                                                                          "i"
-                                                                          "i"))
-                                                                      #(ribcage
-                                                                        (lambda-var-list
-                                                                          gen-var
-                                                                          strip
-                                                                          chi-lambda-case
-                                                                          lambda*-formals
-                                                                          chi-simple-lambda
-                                                                          lambda-formals
-                                                                          ellipsis?
-                                                                          chi-void
-                                                                          eval-local-transformer
-                                                                          chi-local-syntax
-                                                                          chi-body
-                                                                          chi-macro
-                                                                          chi-application
-                                                                          chi-expr
-                                                                          chi
-                                                                          chi-top
-                                                                          syntax-type
-                                                                          chi-when-list
-                                                                          chi-install-global
-                                                                          chi-top-sequence
-                                                                          chi-sequence
-                                                                          source-wrap
-                                                                          wrap
-                                                                          bound-id-member?
-                                                                          distinct-bound-ids?
-                                                                          valid-bound-ids?
-                                                                          bound-id=?
-                                                                          free-id=?
-                                                                          id-var-name
-                                                                          same-marks?
-                                                                          join-marks
-                                                                          join-wraps
-                                                                          smart-append
-                                                                          make-binding-wrap
-                                                                          extend-ribcage!
-                                                                          make-empty-ribcage
-                                                                          new-mark
-                                                                          anti-mark
-                                                                          the-anti-mark
-                                                                          top-marked?
-                                                                          top-wrap
-                                                                          empty-wrap
-                                                                          set-ribcage-labels!
-                                                                          set-ribcage-marks!
-                                                                          set-ribcage-symnames!
-                                                                          ribcage-labels
-                                                                          ribcage-marks
-                                                                          ribcage-symnames
-                                                                          ribcage?
-                                                                          make-ribcage
-                                                                          gen-labels
-                                                                          gen-label
-                                                                          make-rename
-                                                                          rename-marks
-                                                                          rename-new
-                                                                          rename-old
-                                                                          subst-rename?
-                                                                          wrap-subst
-                                                                          wrap-marks
-                                                                          make-wrap
-                                                                          id-sym-name&marks
-                                                                          id-sym-name
-                                                                          id?
-                                                                          nonsymbol-id?
-                                                                          global-extend
-                                                                          lookup
-                                                                          macros-only-env
-                                                                          extend-var-env
-                                                                          extend-env
-                                                                          null-env
-                                                                          binding-value
-                                                                          binding-type
-                                                                          make-binding
-                                                                          arg-check
-                                                                          source-annotation
-                                                                          no-source
-                                                                          set-syntax-object-module!
-                                                                          set-syntax-object-wrap!
-                                                                          set-syntax-object-expression!
-                                                                          syntax-object-module
-                                                                          syntax-object-wrap
-                                                                          syntax-object-expression
-                                                                          syntax-object?
-                                                                          make-syntax-object
-                                                                          build-lexical-var
-                                                                          build-letrec
-                                                                          build-named-let
-                                                                          build-let
-                                                                          build-sequence
-                                                                          build-data
-                                                                          build-primref
-                                                                          build-lambda-case
-                                                                          build-case-lambda
-                                                                          build-simple-lambda
-                                                                          build-global-definition
-                                                                          maybe-name-value!
-                                                                          build-global-assignment
-                                                                          build-global-reference
-                                                                          analyze-variable
-                                                                          build-lexical-assignment
-                                                                          build-lexical-reference
-                                                                          build-conditional
-                                                                          build-application
-                                                                          build-void
-                                                                          decorate-source
-                                                                          get-global-definition-hook
-                                                                          put-global-definition-hook
-                                                                          gensym-hook
-                                                                          local-eval-hook
-                                                                          top-level-eval-hook
-                                                                          fx<
-                                                                          fx=
-                                                                          fx-
-                                                                          fx+
-                                                                          *mode*
-                                                                          noexpand)
-                                                                        ((top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top)
-                                                                         (top))
-                                                                        ("i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"
-                                                                         "i"))
-                                                                      #(ribcage
-                                                                        (define-structure
-                                                                          and-map*)
-                                                                        ((top)
-                                                                         (top))
-                                                                        ("i"
-                                                                         "i")))
-                                                                     (hygiene
-                                                                       guile)))
-                                                              'compile
-                                                              (if (#{free-id=?\ 154}#
-                                                                    #{x\ 917}#
-                                                                    '#(syntax-object
-                                                                       load
-                                                                       ((top)
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(x)
-                                                                          #((top))
-                                                                          #("i"))
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(f
-                                                                            when-list
-                                                                            situations)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(e
-                                                                            when-list
-                                                                            w)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          (lambda-var-list
-                                                                            gen-var
-                                                                            strip
-                                                                            chi-lambda-case
-                                                                            lambda*-formals
-                                                                            chi-simple-lambda
-                                                                            lambda-formals
-                                                                            ellipsis?
-                                                                            chi-void
-                                                                            eval-local-transformer
-                                                                            chi-local-syntax
-                                                                            chi-body
-                                                                            chi-macro
-                                                                            chi-application
-                                                                            chi-expr
-                                                                            chi
-                                                                            chi-top
-                                                                            syntax-type
-                                                                            chi-when-list
-                                                                            chi-install-global
-                                                                            chi-top-sequence
-                                                                            chi-sequence
-                                                                            source-wrap
-                                                                            wrap
-                                                                            bound-id-member?
-                                                                            distinct-bound-ids?
-                                                                            valid-bound-ids?
-                                                                            bound-id=?
-                                                                            free-id=?
-                                                                            id-var-name
-                                                                            same-marks?
-                                                                            join-marks
-                                                                            join-wraps
-                                                                            smart-append
-                                                                            make-binding-wrap
-                                                                            extend-ribcage!
-                                                                            make-empty-ribcage
-                                                                            new-mark
-                                                                            anti-mark
-                                                                            the-anti-mark
-                                                                            top-marked?
-                                                                            top-wrap
-                                                                            empty-wrap
-                                                                            set-ribcage-labels!
-                                                                            set-ribcage-marks!
-                                                                            set-ribcage-symnames!
-                                                                            ribcage-labels
-                                                                            ribcage-marks
-                                                                            ribcage-symnames
-                                                                            ribcage?
-                                                                            make-ribcage
-                                                                            gen-labels
-                                                                            gen-label
-                                                                            make-rename
-                                                                            rename-marks
-                                                                            rename-new
-                                                                            rename-old
-                                                                            subst-rename?
-                                                                            wrap-subst
-                                                                            wrap-marks
-                                                                            make-wrap
-                                                                            id-sym-name&marks
-                                                                            id-sym-name
-                                                                            id?
-                                                                            nonsymbol-id?
-                                                                            global-extend
-                                                                            lookup
-                                                                            macros-only-env
-                                                                            extend-var-env
-                                                                            extend-env
-                                                                            null-env
-                                                                            binding-value
-                                                                            binding-type
-                                                                            make-binding
-                                                                            arg-check
-                                                                            source-annotation
-                                                                            no-source
-                                                                            set-syntax-object-module!
-                                                                            set-syntax-object-wrap!
-                                                                            set-syntax-object-expression!
-                                                                            syntax-object-module
-                                                                            syntax-object-wrap
-                                                                            syntax-object-expression
-                                                                            syntax-object?
-                                                                            make-syntax-object
-                                                                            build-lexical-var
-                                                                            build-letrec
-                                                                            build-named-let
-                                                                            build-let
-                                                                            build-sequence
-                                                                            build-data
-                                                                            build-primref
-                                                                            build-lambda-case
-                                                                            build-case-lambda
-                                                                            build-simple-lambda
-                                                                            build-global-definition
-                                                                            maybe-name-value!
-                                                                            build-global-assignment
-                                                                            build-global-reference
-                                                                            analyze-variable
-                                                                            build-lexical-assignment
-                                                                            build-lexical-reference
-                                                                            build-conditional
-                                                                            build-application
-                                                                            build-void
-                                                                            decorate-source
-                                                                            get-global-definition-hook
-                                                                            put-global-definition-hook
-                                                                            gensym-hook
-                                                                            local-eval-hook
-                                                                            top-level-eval-hook
-                                                                            fx<
-                                                                            fx=
-                                                                            fx-
-                                                                            fx+
-                                                                            *mode*
-                                                                            noexpand)
-                                                                          ((top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top))
-                                                                          ("i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"))
-                                                                        #(ribcage
-                                                                          (define-structure
-                                                                            and-map*)
-                                                                          ((top)
-                                                                           (top))
-                                                                          ("i"
-                                                                           "i")))
-                                                                       (hygiene
-                                                                         guile)))
-                                                                'load
-                                                                (if (#{free-id=?\ 154}#
-                                                                      #{x\ 917}#
-                                                                      '#(syntax-object
-                                                                         eval
-                                                                         ((top)
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            #(x)
-                                                                            #((top))
-                                                                            #("i"))
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            #(f
-                                                                              when-list
-                                                                              situations)
-                                                                            #((top)
-                                                                              (top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"
-                                                                              "i"))
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            #(e
-                                                                              when-list
-                                                                              w)
-                                                                            #((top)
-                                                                              (top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"
-                                                                              "i"))
-                                                                          #(ribcage
-                                                                            (lambda-var-list
-                                                                              gen-var
-                                                                              strip
-                                                                              chi-lambda-case
-                                                                              lambda*-formals
-                                                                              chi-simple-lambda
-                                                                              lambda-formals
-                                                                              ellipsis?
-                                                                              chi-void
-                                                                              eval-local-transformer
-                                                                              chi-local-syntax
-                                                                              chi-body
-                                                                              chi-macro
-                                                                              chi-application
-                                                                              chi-expr
-                                                                              chi
-                                                                              chi-top
-                                                                              syntax-type
-                                                                              chi-when-list
-                                                                              chi-install-global
-                                                                              chi-top-sequence
-                                                                              chi-sequence
-                                                                              source-wrap
-                                                                              wrap
-                                                                              bound-id-member?
-                                                                              distinct-bound-ids?
-                                                                              valid-bound-ids?
-                                                                              bound-id=?
-                                                                              free-id=?
-                                                                              id-var-name
-                                                                              same-marks?
-                                                                              join-marks
-                                                                              join-wraps
-                                                                              smart-append
-                                                                              make-binding-wrap
-                                                                              extend-ribcage!
-                                                                              make-empty-ribcage
-                                                                              new-mark
-                                                                              anti-mark
-                                                                              the-anti-mark
-                                                                              top-marked?
-                                                                              top-wrap
-                                                                              empty-wrap
-                                                                              set-ribcage-labels!
-                                                                              set-ribcage-marks!
-                                                                              set-ribcage-symnames!
-                                                                              ribcage-labels
-                                                                              ribcage-marks
-                                                                              ribcage-symnames
-                                                                              ribcage?
-                                                                              make-ribcage
-                                                                              gen-labels
-                                                                              gen-label
-                                                                              make-rename
-                                                                              rename-marks
-                                                                              rename-new
-                                                                              rename-old
-                                                                              subst-rename?
-                                                                              wrap-subst
-                                                                              wrap-marks
-                                                                              make-wrap
-                                                                              id-sym-name&marks
-                                                                              id-sym-name
-                                                                              id?
-                                                                              nonsymbol-id?
-                                                                              global-extend
-                                                                              lookup
-                                                                              macros-only-env
-                                                                              extend-var-env
-                                                                              extend-env
-                                                                              null-env
-                                                                              binding-value
-                                                                              binding-type
-                                                                              make-binding
-                                                                              arg-check
-                                                                              source-annotation
-                                                                              no-source
-                                                                              set-syntax-object-module!
-                                                                              set-syntax-object-wrap!
-                                                                              set-syntax-object-expression!
-                                                                              syntax-object-module
-                                                                              syntax-object-wrap
-                                                                              syntax-object-expression
-                                                                              syntax-object?
-                                                                              make-syntax-object
-                                                                              build-lexical-var
-                                                                              build-letrec
-                                                                              build-named-let
-                                                                              build-let
-                                                                              build-sequence
-                                                                              build-data
-                                                                              build-primref
-                                                                              build-lambda-case
-                                                                              build-case-lambda
-                                                                              build-simple-lambda
-                                                                              build-global-definition
-                                                                              maybe-name-value!
-                                                                              build-global-assignment
-                                                                              build-global-reference
-                                                                              analyze-variable
-                                                                              build-lexical-assignment
-                                                                              build-lexical-reference
-                                                                              build-conditional
-                                                                              build-application
-                                                                              build-void
-                                                                              decorate-source
-                                                                              get-global-definition-hook
-                                                                              put-global-definition-hook
-                                                                              gensym-hook
-                                                                              local-eval-hook
-                                                                              top-level-eval-hook
-                                                                              fx<
-                                                                              fx=
-                                                                              fx-
-                                                                              fx+
-                                                                              *mode*
-                                                                              noexpand)
-                                                                            ((top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top))
-                                                                            ("i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"))
-                                                                          #(ribcage
-                                                                            (define-structure
-                                                                              and-map*)
-                                                                            ((top)
-                                                                             (top))
-                                                                            ("i"
-                                                                             "i")))
-                                                                         (hygiene
-                                                                           guile)))
-                                                                  'eval
-                                                                  (syntax-violation
-                                                                    'eval-when
-                                                                    "invalid situation"
-                                                                    #{e\ 911}#
-                                                                    (#{wrap\ 159}#
-                                                                      #{x\ 917}#
-                                                                      #{w\ 913}#
-                                                                      #f))))))
-                                                          #{situations\ 916}#))))))
-                 (#{f\ 914}# #{when-list\ 912}# (quote ())))))
-           (#{chi-install-global\ 163}#
-             (lambda (#{name\ 918}# #{e\ 919}#)
-               (#{build-global-definition\ 104}#
-                 #f
-                 #{name\ 918}#
-                 (if (let ((#{v\ 920}# (module-variable
-                                         (current-module)
-                                         #{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)
-                         #f))
-                   (#{build-application\ 96}#
-                     #f
-                     (#{build-primref\ 108}#
-                       #f
-                       'make-extended-syncase-macro)
-                     (list (#{build-application\ 96}#
-                             #f
-                             (#{build-primref\ 108}# #f (quote module-ref))
-                             (list (#{build-application\ 96}#
-                                     #f
-                                     (#{build-primref\ 108}#
-                                       #f
-                                       'current-module)
-                                     '())
-                                   (#{build-data\ 109}# #f #{name\ 918}#)))
-                           (#{build-data\ 109}# #f (quote macro))
-                           #{e\ 919}#))
-                   (#{build-application\ 96}#
-                     #f
-                     (#{build-primref\ 108}#
-                       #f
-                       'make-syncase-macro)
-                     (list (#{build-data\ 109}# #f (quote macro))
-                           #{e\ 919}#))))))
-           (#{chi-top-sequence\ 162}#
-             (lambda (#{body\ 921}#
-                      #{r\ 922}#
-                      #{w\ 923}#
-                      #{s\ 924}#
-                      #{m\ 925}#
-                      #{esew\ 926}#
-                      #{mod\ 927}#)
-               (#{build-sequence\ 110}#
-                 #{s\ 924}#
-                 (letrec ((#{dobody\ 928}#
-                            (lambda (#{body\ 929}#
-                                     #{r\ 930}#
-                                     #{w\ 931}#
-                                     #{m\ 932}#
-                                     #{esew\ 933}#
-                                     #{mod\ 934}#)
-                              (if (null? #{body\ 929}#)
-                                '()
-                                (let ((#{first\ 935}#
-                                        (#{chi-top\ 166}#
-                                          (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\ 936}#
-                      #{r\ 937}#
-                      #{w\ 938}#
-                      #{s\ 939}#
-                      #{mod\ 940}#)
-               (#{build-sequence\ 110}#
-                 #{s\ 939}#
-                 (letrec ((#{dobody\ 941}#
-                            (lambda (#{body\ 942}#
-                                     #{r\ 943}#
-                                     #{w\ 944}#
-                                     #{mod\ 945}#)
-                              (if (null? #{body\ 942}#)
-                                '()
-                                (let ((#{first\ 946}#
-                                        (#{chi\ 167}#
-                                          (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\ 947}#
-                      #{w\ 948}#
-                      #{s\ 949}#
-                      #{defmod\ 950}#)
-               (#{wrap\ 159}#
-                 (#{decorate-source\ 94}# #{x\ 947}# #{s\ 949}#)
-                 #{w\ 948}#
-                 #{defmod\ 950}#)))
-           (#{wrap\ 159}#
-             (lambda (#{x\ 951}# #{w\ 952}# #{defmod\ 953}#)
-               (if (if (null? (#{wrap-marks\ 134}# #{w\ 952}#))
-                     (null? (#{wrap-subst\ 135}# #{w\ 952}#))
-                     #f)
-                 #{x\ 951}#
-                 (if (#{syntax-object?\ 115}# #{x\ 951}#)
-                   (#{make-syntax-object\ 114}#
-                     (#{syntax-object-expression\ 116}# #{x\ 951}#)
-                     (#{join-wraps\ 150}#
-                       #{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\ 951}#
-                       #{w\ 952}#
-                       #{defmod\ 953}#))))))
-           (#{bound-id-member?\ 158}#
-             (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\ 954}#
-                       (cdr #{list\ 955}#))))
-                 #f)))
-           (#{distinct-bound-ids?\ 157}#
-             (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\ 959}#)
-                                           (cdr #{ids\ 959}#)))
-                                  (#{distinct?\ 958}# (cdr #{ids\ 959}#))
-                                  #f))))))
-                 (#{distinct?\ 958}# #{ids\ 957}#))))
-           (#{valid-bound-ids?\ 156}#
-             (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?\ 962}# #{ids\ 961}#))
-                 (#{distinct-bound-ids?\ 157}# #{ids\ 961}#)
-                 #f)))
-           (#{bound-id=?\ 155}#
-             (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\ 965}#)
-                          (#{syntax-object-expression\ 116}# #{j\ 966}#))
-                   (#{same-marks?\ 152}#
-                     (#{wrap-marks\ 134}#
-                       (#{syntax-object-wrap\ 117}# #{i\ 965}#))
-                     (#{wrap-marks\ 134}#
-                       (#{syntax-object-wrap\ 117}# #{j\ 966}#)))
-                   #f)
-                 (eq? #{i\ 965}# #{j\ 966}#))))
-           (#{free-id=?\ 154}#
-             (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\ 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\ 988}#
-                                                           #{n\ 986}#)
-                                                       (#{search\ 973}#
-                                                         #{sym\ 981}#
-                                                         (cdr #{subst\ 982}#)
-                                                         #{marks\ 983}#)
-                                                       (if (if (eq? (vector-ref
-                                                                      #{symnames\ 984}#
-                                                                      #{i\ 988}#)
-                                                                    #{sym\ 981}#)
-                                                             (#{same-marks?\ 152}#
-                                                               #{marks\ 983}#
-                                                               (vector-ref
-                                                                 (#{ribcage-marks\ 141}#
-                                                                   #{ribcage\ 985}#)
-                                                                 #{i\ 988}#))
-                                                             #f)
-                                                         (values
-                                                           (vector-ref
-                                                             (#{ribcage-labels\ 142}#
-                                                               #{ribcage\ 985}#)
-                                                             #{i\ 988}#)
-                                                           #{marks\ 983}#)
-                                                         (#{f\ 987}# (#{fx+\ 86}#
-                                                                       #{i\ 988}#
-                                                                       1)))))))
-                                (#{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\ 991}#
-                                                             (list-ref
-                                                               (#{ribcage-marks\ 141}#
-                                                                 #{ribcage\ 993}#)
-                                                               #{i\ 996}#))
-                                                           #f)
-                                                       (values
-                                                         (list-ref
-                                                           (#{ribcage-labels\ 142}#
-                                                             #{ribcage\ 993}#)
-                                                           #{i\ 996}#)
-                                                         #{marks\ 991}#)
-                                                       (#{f\ 994}# (cdr #{symnames\ 995}#)
-                                                                   (#{fx+\ 86}#
-                                                                     #{i\ 996}#
-                                                                     1)))))))
-                              (#{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\ 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\ 972}#)
-                                 (#{wrap-marks\ 134}# #{w1\ 1006}#))))
-                         (call-with-values
-                           (lambda ()
-                             (#{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\ 971}#))))))
-           (#{same-marks?\ 152}#
-             (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\ 1014}#)
-                           (cdr #{y\ 1015}#))
-                         #f)
-                       #f)
-                     #f)))))
-           (#{join-marks\ 151}#
-             (lambda (#{m1\ 1017}# #{m2\ 1018}#)
-               (#{smart-append\ 149}# #{m1\ 1017}# #{m2\ 1018}#)))
-           (#{join-wraps\ 150}#
-             (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\ 1020}#)
-                       (#{smart-append\ 149}#
-                         #{s1\ 1022}#
-                         (#{wrap-subst\ 135}# #{w2\ 1020}#))))
-                   (#{make-wrap\ 133}#
-                     (#{smart-append\ 149}#
-                       #{m1\ 1021}#
-                       (#{wrap-marks\ 134}# #{w2\ 1020}#))
-                     (#{smart-append\ 149}#
-                       #{s1\ 1022}#
-                       (#{wrap-subst\ 135}# #{w2\ 1020}#)))))))
-           (#{smart-append\ 149}#
-             (lambda (#{m1\ 1023}# #{m2\ 1024}#)
-               (if (null? #{m2\ 1024}#)
-                 #{m1\ 1023}#
-                 (append #{m1\ 1023}# #{m2\ 1024}#))))
-           (#{make-binding-wrap\ 148}#
-             (lambda (#{ids\ 1025}# #{labels\ 1026}# #{w\ 1027}#)
-               (if (null? #{ids\ 1025}#)
-                 #{w\ 1027}#
-                 (#{make-wrap\ 133}#
-                   (#{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\ 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\ 1030}#
-                                   #{marksvec\ 1031}#
-                                   #{labelvec\ 1028}#)))))
-                         (#{wrap-subst\ 135}# #{w\ 1027}#))))))
-           (#{extend-ribcage!\ 147}#
-             (lambda (#{ribcage\ 1037}# #{id\ 1038}# #{label\ 1039}#)
-               (begin
-                 (#{set-ribcage-symnames!\ 143}#
-                   #{ribcage\ 1037}#
-                   (cons (#{syntax-object-expression\ 116}# #{id\ 1038}#)
-                         (#{ribcage-symnames\ 140}# #{ribcage\ 1037}#)))
-                 (#{set-ribcage-marks!\ 144}#
-                   #{ribcage\ 1037}#
-                   (cons (#{wrap-marks\ 134}#
-                           (#{syntax-object-wrap\ 117}# #{id\ 1038}#))
-                         (#{ribcage-marks\ 141}# #{ribcage\ 1037}#)))
-                 (#{set-ribcage-labels!\ 145}#
-                   #{ribcage\ 1037}#
-                   (cons #{label\ 1039}#
-                         (#{ribcage-labels\ 142}# #{ribcage\ 1037}#))))))
-           (#{anti-mark\ 146}#
-             (lambda (#{w\ 1040}#)
-               (#{make-wrap\ 133}#
-                 (cons #f (#{wrap-marks\ 134}# #{w\ 1040}#))
-                 (cons 'shift
-                       (#{wrap-subst\ 135}# #{w\ 1040}#)))))
-           (#{set-ribcage-labels!\ 145}#
-             (lambda (#{x\ 1041}# #{update\ 1042}#)
-               (vector-set! #{x\ 1041}# 3 #{update\ 1042}#)))
-           (#{set-ribcage-marks!\ 144}#
-             (lambda (#{x\ 1043}# #{update\ 1044}#)
-               (vector-set! #{x\ 1043}# 2 #{update\ 1044}#)))
-           (#{set-ribcage-symnames!\ 143}#
-             (lambda (#{x\ 1045}# #{update\ 1046}#)
-               (vector-set! #{x\ 1045}# 1 #{update\ 1046}#)))
-           (#{ribcage-labels\ 142}#
-             (lambda (#{x\ 1047}#) (vector-ref #{x\ 1047}# 3)))
-           (#{ribcage-marks\ 141}#
-             (lambda (#{x\ 1048}#) (vector-ref #{x\ 1048}# 2)))
-           (#{ribcage-symnames\ 140}#
-             (lambda (#{x\ 1049}#) (vector-ref #{x\ 1049}# 1)))
-           (#{ribcage?\ 139}#
-             (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\ 1051}#
-                      #{marks\ 1052}#
-                      #{labels\ 1053}#)
-               (vector
-                 'ribcage
-                 #{symnames\ 1051}#
-                 #{marks\ 1052}#
-                 #{labels\ 1053}#)))
-           (#{gen-labels\ 137}#
-             (lambda (#{ls\ 1054}#)
-               (if (null? #{ls\ 1054}#)
-                 '()
-                 (cons (#{gen-label\ 136}#)
-                       (#{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\ 1055}# #{w\ 1056}#)
-               (if (#{syntax-object?\ 115}# #{x\ 1055}#)
-                 (values
-                   (#{syntax-object-expression\ 116}# #{x\ 1055}#)
-                   (#{join-marks\ 151}#
-                     (#{wrap-marks\ 134}# #{w\ 1056}#)
-                     (#{wrap-marks\ 134}#
-                       (#{syntax-object-wrap\ 117}# #{x\ 1055}#))))
-                 (values
-                   #{x\ 1055}#
-                   (#{wrap-marks\ 134}# #{w\ 1056}#)))))
-           (#{id?\ 131}#
-             (lambda (#{x\ 1057}#)
-               (if (symbol? #{x\ 1057}#)
-                 #t
-                 (if (#{syntax-object?\ 115}# #{x\ 1057}#)
-                   (symbol?
-                     (#{syntax-object-expression\ 116}# #{x\ 1057}#))
-                   #f))))
-           (#{nonsymbol-id?\ 130}#
-             (lambda (#{x\ 1058}#)
-               (if (#{syntax-object?\ 115}# #{x\ 1058}#)
-                 (symbol?
-                   (#{syntax-object-expression\ 116}# #{x\ 1058}#))
-                 #f)))
-           (#{global-extend\ 129}#
-             (lambda (#{type\ 1059}# #{sym\ 1060}# #{val\ 1061}#)
-               (#{put-global-definition-hook\ 92}#
-                 #{sym\ 1060}#
-                 #{type\ 1059}#
-                 #{val\ 1061}#)))
-           (#{lookup\ 128}#
-             (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\ 1062}#
-                               #{mod\ 1064}#)))
-                       (if #{t\ 1066}# #{t\ 1066}# (quote (global))))
-                     '(displaced-lexical))))))
-           (#{macros-only-env\ 127}#
-             (lambda (#{r\ 1067}#)
-               (if (null? #{r\ 1067}#)
-                 '()
-                 (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\ 1069}# #{vars\ 1070}# #{r\ 1071}#)
-               (if (null? #{labels\ 1069}#)
-                 #{r\ 1071}#
-                 (#{extend-var-env\ 126}#
-                   (cdr #{labels\ 1069}#)
-                   (cdr #{vars\ 1070}#)
-                   (cons (cons (car #{labels\ 1069}#)
-                               (cons (quote lexical) (car #{vars\ 1070}#)))
-                         #{r\ 1071}#)))))
-           (#{extend-env\ 125}#
-             (lambda (#{labels\ 1072}# #{bindings\ 1073}# #{r\ 1074}#)
-               (if (null? #{labels\ 1072}#)
-                 #{r\ 1074}#
-                 (#{extend-env\ 125}#
-                   (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\ 1075}#)
-               (if (#{syntax-object?\ 115}# #{x\ 1075}#)
-                 (#{source-annotation\ 122}#
-                   (#{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\ 1077}# #{update\ 1078}#)
-               (vector-set! #{x\ 1077}# 3 #{update\ 1078}#)))
-           (#{set-syntax-object-wrap!\ 120}#
-             (lambda (#{x\ 1079}# #{update\ 1080}#)
-               (vector-set! #{x\ 1079}# 2 #{update\ 1080}#)))
-           (#{set-syntax-object-expression!\ 119}#
-             (lambda (#{x\ 1081}# #{update\ 1082}#)
-               (vector-set! #{x\ 1081}# 1 #{update\ 1082}#)))
-           (#{syntax-object-module\ 118}#
-             (lambda (#{x\ 1083}#) (vector-ref #{x\ 1083}# 3)))
-           (#{syntax-object-wrap\ 117}#
-             (lambda (#{x\ 1084}#) (vector-ref #{x\ 1084}# 2)))
-           (#{syntax-object-expression\ 116}#
-             (lambda (#{x\ 1085}#) (vector-ref #{x\ 1085}# 1)))
-           (#{syntax-object?\ 115}#
-             (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\ 1087}#
-                      #{wrap\ 1088}#
-                      #{module\ 1089}#)
-               (vector
-                 'syntax-object
-                 #{expression\ 1087}#
-                 #{wrap\ 1088}#
-                 #{module\ 1089}#)))
-           (#{build-letrec\ 113}#
-             (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\ 1091}#
-                         #{val-exps\ 1093}#)
-                       ((@ (language tree-il) make-letrec)
-                        #{src\ 1090}#
-                        #{ids\ 1091}#
-                        #{vars\ 1092}#
-                        #{val-exps\ 1093}#
-                        #{body-exp\ 1094}#))
-                     (#{decorate-source\ 94}#
-                       (list 'letrec
-                             (map list #{vars\ 1092}# #{val-exps\ 1093}#)
-                             #{body-exp\ 1094}#)
-                       #{src\ 1090}#))))))
-           (#{build-named-let\ 112}#
-             (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\ 1096}#
-                               #{ids\ 1104}#
-                               #f
-                               #{vars\ 1103}#
-                               #f
-                               #{body-exp\ 1100}#)))
-                       (begin
-                         (#{maybe-name-value!\ 103}#
-                           #{f-name\ 1102}#
-                           #{proc\ 1106}#)
-                         (for-each
-                           #{maybe-name-value!\ 103}#
-                           #{ids\ 1104}#
-                           #{val-exps\ 1099}#)
-                         ((@ (language tree-il) make-letrec)
-                          #{src\ 1096}#
-                          (list #{f-name\ 1102}#)
-                          (list #{f\ 1101}#)
-                          (list #{proc\ 1106}#)
-                          (#{build-application\ 96}#
-                            #{src\ 1096}#
-                            (#{build-lexical-reference\ 98}#
-                              'fun
-                              #{src\ 1096}#
-                              #{f-name\ 1102}#
-                              #{f\ 1101}#)
-                            #{val-exps\ 1099}#))))
-                     (#{decorate-source\ 94}#
-                       (list 'let
-                             #{f\ 1101}#
-                             (map list #{vars\ 1103}# #{val-exps\ 1099}#)
-                             #{body-exp\ 1100}#)
-                       #{src\ 1096}#))))))
-           (#{build-let\ 111}#
-             (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\ 1108}#
-                         #{val-exps\ 1110}#)
-                       ((@ (language tree-il) make-let)
-                        #{src\ 1107}#
-                        #{ids\ 1108}#
-                        #{vars\ 1109}#
-                        #{val-exps\ 1110}#
-                        #{body-exp\ 1111}#))
-                     (#{decorate-source\ 94}#
-                       (list 'let
-                             (map list #{vars\ 1109}# #{val-exps\ 1110}#)
-                             #{body-exp\ 1111}#)
-                       #{src\ 1107}#))))))
-           (#{build-sequence\ 110}#
-             (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\ 1113}#
-                      #{exps\ 1114}#)
-                     (#{decorate-source\ 94}#
-                       (cons (quote begin) #{exps\ 1114}#)
-                       #{src\ 1113}#))))))
-           (#{build-data\ 109}#
-             (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\ 1116}#
-                    #{exp\ 1117}#)
-                   (#{decorate-source\ 94}#
-                     (if (if (self-evaluating? #{exp\ 1117}#)
-                           (not (vector? #{exp\ 1117}#))
-                           #f)
-                       #{exp\ 1117}#
-                       (list (quote quote) #{exp\ 1117}#))
-                     #{src\ 1116}#)))))
-           (#{build-primref\ 108}#
-             (lambda (#{src\ 1119}# #{name\ 1120}#)
-               (if (equal?
-                     (module-name (current-module))
-                     '(guile))
-                 (let ((#{atom-key\ 1121}# (fluid-ref #{*mode*\ 85}#)))
-                   (if (memv #{atom-key\ 1121}# (quote (c)))
-                     ((@ (language tree-il) make-toplevel-ref)
-                      #{src\ 1119}#
-                      #{name\ 1120}#)
-                     (#{decorate-source\ 94}#
-                       #{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\ 1119}#
-                      '(guile)
-                      #{name\ 1120}#
-                      #f)
-                     (#{decorate-source\ 94}#
-                       (list (quote @@) (quote (guile)) #{name\ 1120}#)
-                       #{src\ 1119}#))))))
-           (#{build-lambda-case\ 107}#
-             (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\ 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?\ 1137}#
-                                 (if #{kw\ 1127}# (car #{kw\ 1127}#) #f)))
-                           (let ((#{kw-indices\ 1138}#
-                                   (map (lambda (#{x\ 1139}#)
-                                          (cons (car #{x\ 1139}#)
-                                                (list-index
-                                                  #{vars\ 1129}#
-                                                  (caddr #{x\ 1139}#))))
-                                        (if #{kw\ 1127}#
-                                          (cdr #{kw\ 1127}#)
-                                          '()))))
-                             (let ((#{nargs\ 1140}#
-                                     (apply max
-                                            (+ #{nreq\ 1134}#
-                                               #{nopt\ 1135}#
-                                               (if #{rest\ 1126}# 1 0))
-                                            (map 1+
-                                                 (map cdr
-                                                      #{kw-indices\ 1138}#)))))
-                               (begin
-                                 (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\ 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\ 1134}#
-                                                                       #{nopt\ 1135}#
-                                                                       #{rest-idx\ 1136}#
-                                                                       #{nargs\ 1140}#
-                                                                       #{allow-other-keys?\ 1137}#
-                                                                       #{kw-indices\ 1138}#))
-                                                           (cons (cons 'list
-                                                                       (map (lambda (#{i\ 1142}#)
-                                                                              (list 'lambda
-                                                                                    #{vars\ 1129}#
-                                                                                    #{i\ 1142}#))
-                                                                            #{inits\ 1128}#))
-                                                                 (cons (if #{predicate\ 1130}#
-                                                                         (list 'lambda
-                                                                               #{vars\ 1129}#
-                                                                               #{predicate\ 1130}#)
-                                                                         #f)
-                                                                       '(%%args)))))
-                                               '=>
-                                               (list 'lambda
-                                                     '(%%%args . _)
-                                                     (cons 'apply
-                                                           (cons (list 'lambda
-                                                                       #{vars\ 1129}#
-                                                                       #{body\ 1131}#)
-                                                                 '(%%%args)))))
-                                         (let ((#{t\ 1143}#
-                                                 #{else-case\ 1132}#))
-                                           (if #{t\ 1143}#
-                                             #{t\ 1143}#
-                                             '((%%args
-                                                 (error "wrong number of arguments"
-                                                        %%args))))))
-                                   #{src\ 1123}#))))))))))))
-           (#{build-case-lambda\ 106}#
-             (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\ 1144}#
-                    (if #{docstring\ 1145}#
-                      (list (cons (quote documentation) #{docstring\ 1145}#))
-                      '())
-                    #{body\ 1146}#)
-                   (#{decorate-source\ 94}#
-                     (cons 'lambda
-                           (cons '%%args
-                                 (append
-                                   (if #{docstring\ 1145}#
-                                     (list #{docstring\ 1145}#)
-                                     '())
-                                   (list (cons (quote cond) #{body\ 1146}#)))))
-                     #{src\ 1144}#)))))
-           (#{build-simple-lambda\ 105}#
-             (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\ 1148}#
-                    (if #{docstring\ 1152}#
-                      (list (cons (quote documentation) #{docstring\ 1152}#))
-                      '())
-                    ((@ (language tree-il) make-lambda-case)
-                     #{src\ 1148}#
-                     #{req\ 1149}#
-                     #f
-                     #{rest\ 1150}#
-                     #f
-                     '()
-                     #{vars\ 1151}#
-                     #f
-                     #{exp\ 1153}#
-                     #f))
-                   (#{decorate-source\ 94}#
-                     (cons 'lambda
-                           (cons (if #{rest\ 1150}#
-                                   (apply cons* #{vars\ 1151}#)
-                                   #{vars\ 1151}#)
-                                 (append
-                                   (if #{docstring\ 1152}#
-                                     (list #{docstring\ 1152}#)
-                                     '())
-                                   (list #{exp\ 1153}#))))
-                     #{src\ 1148}#)))))
-           (#{build-global-definition\ 104}#
-             (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\ 1156}#
-                       #{exp\ 1157}#)
-                     ((@ (language tree-il) make-toplevel-define)
-                      #{source\ 1155}#
-                      #{var\ 1156}#
-                      #{exp\ 1157}#))
-                   (#{decorate-source\ 94}#
-                     (list (quote define) #{var\ 1156}# #{exp\ 1157}#)
-                     #{source\ 1155}#)))))
-           (#{maybe-name-value!\ 103}#
-             (lambda (#{name\ 1159}# #{val\ 1160}#)
-               (if ((@ (language tree-il) lambda?) #{val\ 1160}#)
-                 (let ((#{meta\ 1161}#
-                         ((@ (language tree-il) lambda-meta)
-                          #{val\ 1160}#)))
-                   (if (not (assq (quote name) #{meta\ 1161}#))
-                     ((setter (@ (language tree-il) lambda-meta))
-                      #{val\ 1160}#
-                      (acons 'name
-                             #{name\ 1159}#
-                             #{meta\ 1161}#)))))))
-           (#{build-global-assignment\ 102}#
-             (lambda (#{source\ 1162}#
-                      #{var\ 1163}#
-                      #{exp\ 1164}#
-                      #{mod\ 1165}#)
-               (#{analyze-variable\ 100}#
-                 #{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\ 1162}#
-                        #{mod\ 1166}#
-                        #{var\ 1167}#
-                        #{public?\ 1168}#
-                        #{exp\ 1164}#)
-                       (#{decorate-source\ 94}#
-                         (list 'set!
-                               (list (if #{public?\ 1168}#
-                                       '@
-                                       '@@)
-                                     #{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\ 1162}#
-                        #{var\ 1170}#
-                        #{exp\ 1164}#)
-                       (#{decorate-source\ 94}#
-                         (list (quote set!) #{var\ 1170}# #{exp\ 1164}#)
-                         #{source\ 1162}#)))))))
-           (#{build-global-reference\ 101}#
-             (lambda (#{source\ 1172}# #{var\ 1173}# #{mod\ 1174}#)
-               (#{analyze-variable\ 100}#
-                 #{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\ 1172}#
-                        #{mod\ 1175}#
-                        #{var\ 1176}#
-                        #{public?\ 1177}#)
-                       (#{decorate-source\ 94}#
-                         (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\ 1172}#
-                        #{var\ 1179}#)
-                       (#{decorate-source\ 94}#
-                         #{var\ 1179}#
-                         #{source\ 1172}#)))))))
-           (#{analyze-variable\ 100}#
-             (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\ 1185}# (quote (private)))
-                       (if (not (equal?
-                                  #{mod\ 1186}#
-                                  (module-name (current-module))))
-                         (#{modref-cont\ 1183}#
-                           #{mod\ 1186}#
-                           #{var\ 1182}#
-                           #f)
-                         (#{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\ 1186}#
-                                          (module-name (current-module))))
-                                 (module-variable
-                                   (resolve-module #{mod\ 1186}#)
-                                   #{var\ 1182}#)
-                                 #f)
-                             (#{modref-cont\ 1183}#
-                               #{mod\ 1186}#
-                               #{var\ 1182}#
-                               #f)
-                             (#{bare-cont\ 1184}# #{var\ 1182}#))
-                           (syntax-violation
-                             #f
-                             "bad module kind"
-                             #{var\ 1182}#
-                             #{mod\ 1186}#)))))))))
-           (#{build-lexical-assignment\ 99}#
-             (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\ 1187}#
-                    #{name\ 1188}#
-                    #{var\ 1189}#
-                    #{exp\ 1190}#)
-                   (#{decorate-source\ 94}#
-                     (list (quote set!) #{var\ 1189}# #{exp\ 1190}#)
-                     #{source\ 1187}#)))))
-           (#{build-lexical-reference\ 98}#
-             (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\ 1193}#
-                    #{name\ 1194}#
-                    #{var\ 1195}#)
-                   (#{decorate-source\ 94}#
-                     #{var\ 1195}#
-                     #{source\ 1193}#)))))
-           (#{build-conditional\ 97}#
-             (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\ 1197}#
-                    #{test-exp\ 1198}#
-                    #{then-exp\ 1199}#
-                    #{else-exp\ 1200}#)
-                   (#{decorate-source\ 94}#
-                     (if (equal? #{else-exp\ 1200}# (quote (if #f #f)))
-                       (list 'if
-                             #{test-exp\ 1198}#
-                             #{then-exp\ 1199}#)
-                       (list 'if
-                             #{test-exp\ 1198}#
-                             #{then-exp\ 1199}#
-                             #{else-exp\ 1200}#))
-                     #{source\ 1197}#)))))
-           (#{build-application\ 96}#
-             (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\ 1202}#
-                    #{fun-exp\ 1203}#
-                    #{arg-exps\ 1204}#)
-                   (#{decorate-source\ 94}#
-                     (cons #{fun-exp\ 1203}# #{arg-exps\ 1204}#)
-                     #{source\ 1202}#)))))
-           (#{build-void\ 95}#
-             (lambda (#{source\ 1206}#)
-               (let ((#{atom-key\ 1207}# (fluid-ref #{*mode*\ 85}#)))
-                 (if (memv #{atom-key\ 1207}# (quote (c)))
-                   ((@ (language tree-il) make-void)
-                    #{source\ 1206}#)
-                   (#{decorate-source\ 94}#
-                     '(if #f #f)
-                     #{source\ 1206}#)))))
-           (#{decorate-source\ 94}#
-             (lambda (#{e\ 1208}# #{s\ 1209}#)
-               (begin
-                 (if (if (pair? #{e\ 1208}#) #{s\ 1209}# #f)
-                   (set-source-properties! #{e\ 1208}# #{s\ 1209}#))
-                 #{e\ 1208}#)))
-           (#{get-global-definition-hook\ 93}#
-             (lambda (#{symbol\ 1210}# #{module\ 1211}#)
-               (begin
-                 (if (if (not #{module\ 1211}#) (current-module) #f)
-                   (warn "module system is booted, we should have a module"
-                         #{symbol\ 1210}#))
-                 (let ((#{v\ 1212}#
-                         (module-variable
-                           (if #{module\ 1211}#
-                             (resolve-module (cdr #{module\ 1211}#))
-                             (current-module))
-                           #{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\ 1214}# #{type\ 1215}# #{val\ 1216}#)
-               (let ((#{existing\ 1217}#
-                       (let ((#{v\ 1218}#
-                               (module-variable
-                                 (current-module)
-                                 #{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\ 1214}#
-                   (if #{existing\ 1217}#
-                     (make-extended-syncase-macro
-                       #{existing\ 1217}#
-                       #{type\ 1215}#
-                       #{val\ 1216}#)
-                     (make-syncase-macro #{type\ 1215}# #{val\ 1216}#))))))
-           (#{local-eval-hook\ 91}#
-             (lambda (#{x\ 1220}# #{mod\ 1221}#)
-               (primitive-eval
-                 (list #{noexpand\ 84}#
-                       (let ((#{atom-key\ 1222}# (fluid-ref #{*mode*\ 85}#)))
-                         (if (memv #{atom-key\ 1222}# (quote (c)))
-                           ((@ (language tree-il) tree-il->scheme)
-                            #{x\ 1220}#)
-                           #{x\ 1220}#))))))
-           (#{top-level-eval-hook\ 90}#
-             (lambda (#{x\ 1223}# #{mod\ 1224}#)
-               (primitive-eval
-                 (list #{noexpand\ 84}#
-                       (let ((#{atom-key\ 1225}# (fluid-ref #{*mode*\ 85}#)))
-                         (if (memv #{atom-key\ 1225}# (quote (c)))
-                           ((@ (language tree-il) tree-il->scheme)
-                            #{x\ 1223}#)
-                           #{x\ 1223}#))))))
-           (#{fx<\ 89}# <)
-           (#{fx=\ 88}# =)
-           (#{fx-\ 87}# -)
-           (#{fx+\ 86}# +)
-           (#{*mode*\ 85}# (make-fluid))
-           (#{noexpand\ 84}# "noexpand"))
-    (begin
-      (#{global-extend\ 129}#
-        'local-syntax
-        'letrec-syntax
-        #t)
-      (#{global-extend\ 129}#
-        'local-syntax
-        'let-syntax
-        #f)
-      (#{global-extend\ 129}#
-        'core
-        'fluid-let-syntax
-        (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 (#{_\ 1239}#
-                                  #{var\ 1240}#
-                                  #{val\ 1241}#
-                                  #{e1\ 1242}#
-                                  #{e2\ 1243}#)
-                           (let ((#{names\ 1244}#
-                                   (map (lambda (#{x\ 1245}#)
-                                          (#{id-var-name\ 153}#
-                                            #{x\ 1245}#
-                                            #{w\ 1228}#))
-                                        #{var\ 1240}#)))
-                             (begin
-                               (for-each
-                                 (lambda (#{id\ 1247}# #{n\ 1248}#)
-                                   (let ((#{atom-key\ 1249}#
-                                           (#{binding-type\ 123}#
-                                             (#{lookup\ 128}#
-                                               #{n\ 1248}#
-                                               #{r\ 1227}#
-                                               #{mod\ 1230}#))))
-                                     (if (memv #{atom-key\ 1249}#
-                                               '(displaced-lexical))
-                                       (syntax-violation
-                                         'fluid-let-syntax
-                                         "identifier out of context"
-                                         #{e\ 1226}#
-                                         (#{source-wrap\ 160}#
-                                           #{id\ 1247}#
-                                           #{w\ 1228}#
-                                           #{s\ 1229}#
-                                           #{mod\ 1230}#)))))
-                                 #{var\ 1240}#
-                                 #{names\ 1244}#)
-                               (#{chi-body\ 171}#
-                                 (cons #{e1\ 1242}# #{e2\ 1243}#)
-                                 (#{source-wrap\ 160}#
-                                   #{e\ 1226}#
-                                   #{w\ 1228}#
-                                   #{s\ 1229}#
-                                   #{mod\ 1230}#)
-                                 (#{extend-env\ 125}#
-                                   #{names\ 1244}#
-                                   (let ((#{trans-r\ 1252}#
-                                           (#{macros-only-env\ 127}#
-                                             #{r\ 1227}#)))
-                                     (map (lambda (#{x\ 1253}#)
-                                            (cons 'macro
-                                                  (#{eval-local-transformer\ 173}#
-                                                    (#{chi\ 167}#
-                                                      #{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\ 1226}#
-                         #{w\ 1228}#
-                         #{s\ 1229}#
-                         #{mod\ 1230}#)))
-                   #{tmp\ 1231}#)))
-              ($sc-dispatch
-                #{tmp\ 1231}#
-                '(any #(each (any any)) any . each-any))))
-           #{e\ 1226}#)))
-      (#{global-extend\ 129}#
-        'core
-        'quote
-        (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\ 1259}#
-                             (#{strip\ 180}# #{e\ 1264}# #{w\ 1258}#)))
-                         #{tmp\ 1262}#)
-                  ((lambda (#{_\ 1265}#)
-                     (syntax-violation
-                       'quote
-                       "bad syntax"
-                       (#{source-wrap\ 160}#
-                         #{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\ 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\ 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\ 1274}#)
-                                   #f
-                                   (cadr #{x\ 1274}#)
-                                   #f
-                                   (#{regen\ 1273}# (caddr #{x\ 1274}#)))
-                                 (error "how did we get here" #{x\ 1274}#))
-                               (#{build-application\ 96}#
-                                 #f
-                                 (#{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\ 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\ 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\ 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\ 1287}#)
-                                 (if (eq? (car #{x\ 1287}#) (quote ref))
-                                   (memq (cadr #{x\ 1287}#) #{formals\ 1284}#)
-                                   #f))
-                               (cdr #{e\ 1282}#))
-                           (cons 'map
-                                 (cons (list 'primitive
-                                             (car #{e\ 1282}#))
-                                       (map (let ((#{r\ 1288}#
-                                                    (map cons
-                                                         #{formals\ 1284}#
-                                                         #{actuals\ 1285}#)))
-                                              (lambda (#{x\ 1289}#)
-                                                (cdr (assq (cadr #{x\ 1289}#)
-                                                           #{r\ 1288}#))))
-                                            (cdr #{e\ 1282}#))))
-                           (cons 'map
-                                 (cons (list 'lambda
-                                             #{formals\ 1284}#
-                                             #{e\ 1282}#)
-                                       #{actuals\ 1285}#)))))))
-                 (#{gen-mappend\ 1268}#
-                   (lambda (#{e\ 1290}# #{map-env\ 1291}#)
-                     (list 'apply
-                           '(primitive append)
-                           (#{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\ 1292}#)
-                         (call-with-values
-                           (lambda ()
-                             (#{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\ 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\ 1301}#
-                                 '(()))))
-                         (let ((#{b\ 1307}#
-                                 (#{lookup\ 128}#
-                                   #{label\ 1306}#
-                                   #{r\ 1302}#
-                                   #{mod\ 1305}#)))
-                           (if (eq? (#{binding-type\ 123}# #{b\ 1307}#)
-                                    'syntax)
-                             (call-with-values
-                               (lambda ()
-                                 (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\ 1309}#)
-                                   #{maps\ 1310}#)))
-                             (if (#{ellipsis?\ 1304}# #{e\ 1301}#)
-                               (syntax-violation
-                                 'syntax
-                                 "misplaced ellipsis"
-                                 #{src\ 1300}#)
-                               (values
-                                 (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\ 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\ 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\ 1335}#
-                                                                                  #{y\ 1336}#)
-                                                                           (#{f\ 1325}#
-                                                                             #{y\ 1336}#
-                                                                             (lambda (#{maps\ 1337}#)
-                                                                               (call-with-values
-                                                                                 (lambda ()
-                                                                                   (#{k\ 1327}#
-                                                                                     (cons '()
-                                                                                           #{maps\ 1337}#)))
-                                                                                 (lambda (#{x\ 1338}#
-                                                                                          #{maps\ 1339}#)
-                                                                                   (if (null? (car #{maps\ 1339}#))
-                                                                                     (syntax-violation
-                                                                                       'syntax
-                                                                                       "extra ellipsis"
-                                                                                       #{src\ 1300}#)
-                                                                                     (values
-                                                                                       (#{gen-mappend\ 1268}#
-                                                                                         #{x\ 1338}#
-                                                                                         (car #{maps\ 1339}#))
-                                                                                       (cdr #{maps\ 1339}#))))))))
-                                                                         #{tmp\ 1332}#)
-                                                                  ((lambda (#{_\ 1340}#)
-                                                                     (call-with-values
-                                                                       (lambda ()
-                                                                         (#{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\ 1327}#
-                                                                               #{maps\ 1342}#))
-                                                                           (lambda (#{x\ 1343}#
-                                                                                    #{maps\ 1344}#)
-                                                                             (values
-                                                                               (#{gen-append\ 1271}#
-                                                                                 #{x\ 1343}#
-                                                                                 #{y\ 1341}#)
-                                                                               #{maps\ 1344}#))))))
-                                                                   #{tmp\ 1331}#)))
-                                                              ($sc-dispatch
-                                                                #{tmp\ 1331}#
-                                                                '(any . any))))
-                                                           #{y\ 1326}#))))
-                                               (#{f\ 1325}#
-                                                 #{y\ 1324}#
-                                                 (lambda (#{maps\ 1328}#)
-                                                   (call-with-values
-                                                     (lambda ()
-                                                       (#{gen-syntax\ 1266}#
-                                                         #{src\ 1300}#
-                                                         #{x\ 1322}#
-                                                         #{r\ 1302}#
-                                                         (cons '()
-                                                               #{maps\ 1328}#)
-                                                         #{ellipsis?\ 1304}#
-                                                         #{mod\ 1305}#))
-                                                     (lambda (#{x\ 1329}#
-                                                              #{maps\ 1330}#)
-                                                       (if (null? (car #{maps\ 1330}#))
-                                                         (syntax-violation
-                                                           'syntax
-                                                           "extra ellipsis"
-                                                           #{src\ 1300}#)
-                                                         (values
-                                                           (#{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\ 1266}#
-                                                        #{src\ 1300}#
-                                                        #{x\ 1346}#
-                                                        #{r\ 1302}#
-                                                        #{maps\ 1303}#
-                                                        #{ellipsis?\ 1304}#
-                                                        #{mod\ 1305}#))
-                                                    (lambda (#{x\ 1348}#
-                                                             #{maps\ 1349}#)
-                                                      (call-with-values
-                                                        (lambda ()
-                                                          (#{gen-syntax\ 1266}#
-                                                            #{src\ 1300}#
-                                                            #{y\ 1347}#
-                                                            #{r\ 1302}#
-                                                            #{maps\ 1349}#
-                                                            #{ellipsis?\ 1304}#
-                                                            #{mod\ 1305}#))
-                                                        (lambda (#{y\ 1350}#
-                                                                 #{maps\ 1351}#)
-                                                          (values
-                                                            (#{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\ 1266}#
-                                                             #{src\ 1300}#
-                                                             (cons #{e1\ 1353}#
-                                                                   #{e2\ 1354}#)
-                                                             #{r\ 1302}#
-                                                             #{maps\ 1303}#
-                                                             #{ellipsis?\ 1304}#
-                                                             #{mod\ 1305}#))
-                                                         (lambda (#{e\ 1356}#
-                                                                  #{maps\ 1357}#)
-                                                           (values
-                                                             (#{gen-vector\ 1272}#
-                                                               #{e\ 1356}#)
-                                                             #{maps\ 1357}#))))
-                                                     #{tmp\ 1352}#)
-                                              ((lambda (#{_\ 1358}#)
-                                                 (values
-                                                   (list 'quote
-                                                         #{e\ 1301}#)
-                                                   #{maps\ 1303}#))
-                                               #{tmp\ 1311}#)))
-                                          ($sc-dispatch
-                                            #{tmp\ 1311}#
-                                            '#(vector (any . each-any))))))
-                                     ($sc-dispatch
-                                       #{tmp\ 1311}#
-                                       '(any . any)))))
-                                ($sc-dispatch
-                                  #{tmp\ 1311}#
-                                  '(any any . any)))))
-                           ($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\ 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\ 1266}#
-                                     #{e\ 1364}#
-                                     #{x\ 1368}#
-                                     #{r\ 1360}#
-                                     '()
-                                     #{ellipsis?\ 175}#
-                                     #{mod\ 1363}#))
-                                 (lambda (#{e\ 1369}# #{maps\ 1370}#)
-                                   (#{regen\ 1273}# #{e\ 1369}#))))
-                             #{tmp\ 1366}#)
-                      ((lambda (#{_\ 1371}#)
-                         (syntax-violation
-                           'syntax
-                           "bad `syntax' form"
-                           #{e\ 1364}#))
-                       #{tmp\ 1365}#)))
-                  ($sc-dispatch #{tmp\ 1365}# (quote (any any)))))
-               #{e\ 1364}#)))))
-      (#{global-extend\ 129}#
-        'core
-        'lambda
-        (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 (#{_\ 1384}#
-                                  #{args\ 1385}#
-                                  #{docstring\ 1386}#
-                                  #{e1\ 1387}#
-                                  #{e2\ 1388}#)
-                           (call-with-values
-                             (lambda ()
-                               (#{lambda-formals\ 176}# #{args\ 1385}#))
-                             (lambda (#{req\ 1389}#
-                                      #{opt\ 1390}#
-                                      #{rest\ 1391}#
-                                      #{kw\ 1392}#
-                                      #{pred\ 1393}#)
-                               (#{chi-simple-lambda\ 177}#
-                                 #{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\ 1397}#))
-                                  (lambda (#{req\ 1400}#
-                                           #{opt\ 1401}#
-                                           #{rest\ 1402}#
-                                           #{kw\ 1403}#
-                                           #{pred\ 1404}#)
-                                    (#{chi-simple-lambda\ 177}#
-                                      #{e\ 1372}#
-                                      #{r\ 1373}#
-                                      #{w\ 1374}#
-                                      #{s\ 1375}#
-                                      #{mod\ 1376}#
-                                      #{req\ 1400}#
-                                      #{rest\ 1402}#
-                                      #f
-                                      (cons #{e1\ 1398}# #{e2\ 1399}#)))))
-                              #{tmp\ 1395}#)
-                       ((lambda (#{_\ 1406}#)
-                          (syntax-violation
-                            'lambda
-                            "bad lambda"
-                            #{e\ 1372}#))
-                        #{tmp\ 1377}#)))
-                   ($sc-dispatch
-                     #{tmp\ 1377}#
-                     '(any any any . each-any)))))
-              ($sc-dispatch
-                #{tmp\ 1377}#
-                '(any any any any . each-any))))
-           #{e\ 1372}#)))
-      (#{global-extend\ 129}#
-        'core
-        'lambda*
-        (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\ 1407}#
-                                 #{r\ 1408}#
-                                 #{w\ 1409}#
-                                 #{s\ 1410}#
-                                 #{mod\ 1411}#
-                                 #{lambda*-formals\ 178}#
-                                 (list (cons #{args\ 1415}#
-                                             (cons #{e1\ 1416}#
-                                                   #{e2\ 1417}#)))))
-                             (lambda (#{docstring\ 1419}# #{lcase\ 1420}#)
-                               (#{build-case-lambda\ 106}#
-                                 #{s\ 1410}#
-                                 #{docstring\ 1419}#
-                                 #{lcase\ 1420}#))))
-                         #{tmp\ 1413}#)
-                  ((lambda (#{_\ 1421}#)
-                     (syntax-violation
-                       'lambda
-                       "bad lambda*"
-                       #{e\ 1407}#))
-                   #{tmp\ 1412}#)))
-              ($sc-dispatch
-                #{tmp\ 1412}#
-                '(any any any . each-any))))
-           #{e\ 1407}#)))
-      (#{global-extend\ 129}#
-        'core
-        'case-lambda
-        (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\ 1422}#
-                                 #{r\ 1423}#
-                                 #{w\ 1424}#
-                                 #{s\ 1425}#
-                                 #{mod\ 1426}#
-                                 #{lambda-formals\ 176}#
-                                 (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\ 1425}#
-                                 #{docstring\ 1441}#
-                                 #{lcase\ 1442}#))))
-                         #{tmp\ 1428}#)
-                  ((lambda (#{_\ 1443}#)
-                     (syntax-violation
-                       'case-lambda
-                       "bad case-lambda"
-                       #{e\ 1422}#))
-                   #{tmp\ 1427}#)))
-              ($sc-dispatch
-                #{tmp\ 1427}#
-                '(any (any any . each-any)
-                      .
-                      #(each (any any . each-any))))))
-           #{e\ 1422}#)))
-      (#{global-extend\ 129}#
-        'core
-        'case-lambda*
-        (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\ 1444}#
-                                 #{r\ 1445}#
-                                 #{w\ 1446}#
-                                 #{s\ 1447}#
-                                 #{mod\ 1448}#
-                                 #{lambda*-formals\ 178}#
-                                 (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\ 1447}#
-                                 #{docstring\ 1463}#
-                                 #{lcase\ 1464}#))))
-                         #{tmp\ 1450}#)
-                  ((lambda (#{_\ 1465}#)
-                     (syntax-violation
-                       'case-lambda
-                       "bad case-lambda*"
-                       #{e\ 1444}#))
-                   #{tmp\ 1449}#)))
-              ($sc-dispatch
-                #{tmp\ 1449}#
-                '(any (any any . each-any)
-                      .
-                      #(each (any any . each-any))))))
-           #{e\ 1444}#)))
-      (#{global-extend\ 129}#
-        'core
-        'let
-        (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\ 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\ 1473}#
-                                   #{labels\ 1476}#
-                                   #{w\ 1469}#))
-                               (#{nr\ 1479}#
-                                 (#{extend-var-env\ 126}#
-                                   #{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\ 1480}#
-                                      #{r\ 1468}#
-                                      #{w\ 1469}#
-                                      #{mod\ 1471}#))
-                                  #{vals\ 1474}#)
-                             (#{chi-body\ 171}#
-                               #{exps\ 1475}#
-                               (#{source-wrap\ 160}#
-                                 #{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 (#{_\ 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\ 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\ 1502}#)
-                             #f)
-                         (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\ 1511}# #{id\ 1512}#)
-                                    #{val\ 1513}#
-                                    (cons #{e1\ 1514}# #{e2\ 1515}#)))
-                                #{tmp\ 1502}#)
-                         ((lambda (#{_\ 1519}#)
-                            (syntax-violation
-                              'let
-                              "bad let"
-                              (#{source-wrap\ 160}#
-                                #{e\ 1481}#
-                                #{w\ 1483}#
-                                #{s\ 1484}#
-                                #{mod\ 1485}#)))
-                          #{tmp\ 1486}#)))
-                     ($sc-dispatch
-                       #{tmp\ 1486}#
-                       '(any any #(each (any any)) any . each-any)))))
-                ($sc-dispatch
-                  #{tmp\ 1486}#
-                  '(any #(each (any any)) any . each-any))))
-             #{e\ 1481}#))))
-      (#{global-extend\ 129}#
-        'core
-        'letrec
-        (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 (#{_\ 1533}#
-                                  #{id\ 1534}#
-                                  #{val\ 1535}#
-                                  #{e1\ 1536}#
-                                  #{e2\ 1537}#)
-                           (let ((#{ids\ 1538}# #{id\ 1534}#))
-                             (if (not (#{valid-bound-ids?\ 156}#
-                                        #{ids\ 1538}#))
-                               (syntax-violation
-                                 'letrec
-                                 "duplicate bound variable"
-                                 #{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\ 1538}#
-                                           #{labels\ 1540}#
-                                           #{w\ 1522}#))
-                                       (#{r\ 1543}#
-                                         (#{extend-var-env\ 126}#
-                                           #{labels\ 1540}#
-                                           #{new-vars\ 1541}#
-                                           #{r\ 1521}#)))
-                                   (#{build-letrec\ 113}#
-                                     #{s\ 1523}#
-                                     (map syntax->datum #{ids\ 1538}#)
-                                     #{new-vars\ 1541}#
-                                     (map (lambda (#{x\ 1544}#)
-                                            (#{chi\ 167}#
-                                              #{x\ 1544}#
-                                              #{r\ 1543}#
-                                              #{w\ 1542}#
-                                              #{mod\ 1524}#))
-                                          #{val\ 1535}#)
-                                     (#{chi-body\ 171}#
-                                       (cons #{e1\ 1536}# #{e2\ 1537}#)
-                                       (#{source-wrap\ 160}#
-                                         #{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\ 1520}#
-                         #{w\ 1522}#
-                         #{s\ 1523}#
-                         #{mod\ 1524}#)))
-                   #{tmp\ 1525}#)))
-              ($sc-dispatch
-                #{tmp\ 1525}#
-                '(any #(each (any any)) any . each-any))))
-           #{e\ 1520}#)))
-      (#{global-extend\ 129}#
-        'core
-        'set!
-        (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 (#{_\ 1558}# #{id\ 1559}# #{val\ 1560}#)
-                           (let ((#{val\ 1561}#
-                                   (#{chi\ 167}#
-                                     #{val\ 1560}#
-                                     #{r\ 1549}#
-                                     #{w\ 1550}#
-                                     #{mod\ 1552}#))
-                                 (#{n\ 1562}#
-                                   (#{id-var-name\ 153}#
-                                     #{id\ 1559}#
-                                     #{w\ 1550}#)))
-                             (let ((#{b\ 1563}#
-                                     (#{lookup\ 128}#
-                                       #{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\ 1551}#
-                                     (syntax->datum #{id\ 1559}#)
-                                     (#{binding-value\ 124}# #{b\ 1563}#)
-                                     #{val\ 1561}#)
-                                   (if (memv #{atom-key\ 1564}#
-                                             '(global))
-                                     (#{build-global-assignment\ 102}#
-                                       #{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\ 1559}#
-                                           #{w\ 1550}#
-                                           #{mod\ 1552}#))
-                                       (syntax-violation
-                                         'set!
-                                         "bad set!"
-                                         (#{source-wrap\ 160}#
-                                           #{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\ 1567}#
-                                      #{r\ 1549}#
-                                      '(())
-                                      #f
-                                      #f
-                                      #{mod\ 1552}#
-                                      #t))
-                                  (lambda (#{type\ 1570}#
-                                           #{value\ 1571}#
-                                           #{ee\ 1572}#
-                                           #{ww\ 1573}#
-                                           #{ss\ 1574}#
-                                           #{modmod\ 1575}#)
-                                    (if (memv #{type\ 1570}#
-                                              '(module-ref))
-                                      (let ((#{val\ 1576}#
-                                              (#{chi\ 167}#
-                                                #{val\ 1569}#
-                                                #{r\ 1549}#
-                                                #{w\ 1550}#
-                                                #{mod\ 1552}#)))
-                                        (call-with-values
-                                          (lambda ()
-                                            (#{value\ 1571}#
-                                              (cons #{head\ 1567}#
-                                                    #{tail\ 1568}#)))
-                                          (lambda (#{id\ 1578}# #{mod\ 1579}#)
-                                            (#{build-global-assignment\ 102}#
-                                              #{s\ 1551}#
-                                              #{id\ 1578}#
-                                              #{val\ 1576}#
-                                              #{mod\ 1579}#))))
-                                      (#{build-application\ 96}#
-                                        #{s\ 1551}#
-                                        (#{chi\ 167}#
-                                          (list '#(syntax-object
-                                                   setter
-                                                   ((top)
-                                                    #(ribcage () () ())
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(type
-                                                        value
-                                                        ee
-                                                        ww
-                                                        ss
-                                                        modmod)
-                                                      #((top)
-                                                        (top)
-                                                        (top)
-                                                        (top)
-                                                        (top)
-                                                        (top))
-                                                      #("i"
-                                                        "i"
-                                                        "i"
-                                                        "i"
-                                                        "i"
-                                                        "i"))
-                                                    #(ribcage
-                                                      #(_ head tail val)
-                                                      #((top)
-                                                        (top)
-                                                        (top)
-                                                        (top))
-                                                      #("i" "i" "i" "i"))
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(e r w s mod)
-                                                      #((top)
-                                                        (top)
-                                                        (top)
-                                                        (top)
-                                                        (top))
-                                                      #("i" "i" "i" "i" "i"))
-                                                    #(ribcage
-                                                      (lambda-var-list
-                                                        gen-var
-                                                        strip
-                                                        chi-lambda-case
-                                                        lambda*-formals
-                                                        chi-simple-lambda
-                                                        lambda-formals
-                                                        ellipsis?
-                                                        chi-void
-                                                        eval-local-transformer
-                                                        chi-local-syntax
-                                                        chi-body
-                                                        chi-macro
-                                                        chi-application
-                                                        chi-expr
-                                                        chi
-                                                        chi-top
-                                                        syntax-type
-                                                        chi-when-list
-                                                        chi-install-global
-                                                        chi-top-sequence
-                                                        chi-sequence
-                                                        source-wrap
-                                                        wrap
-                                                        bound-id-member?
-                                                        distinct-bound-ids?
-                                                        valid-bound-ids?
-                                                        bound-id=?
-                                                        free-id=?
-                                                        id-var-name
-                                                        same-marks?
-                                                        join-marks
-                                                        join-wraps
-                                                        smart-append
-                                                        make-binding-wrap
-                                                        extend-ribcage!
-                                                        make-empty-ribcage
-                                                        new-mark
-                                                        anti-mark
-                                                        the-anti-mark
-                                                        top-marked?
-                                                        top-wrap
-                                                        empty-wrap
-                                                        set-ribcage-labels!
-                                                        set-ribcage-marks!
-                                                        set-ribcage-symnames!
-                                                        ribcage-labels
-                                                        ribcage-marks
-                                                        ribcage-symnames
-                                                        ribcage?
-                                                        make-ribcage
-                                                        gen-labels
-                                                        gen-label
-                                                        make-rename
-                                                        rename-marks
-                                                        rename-new
-                                                        rename-old
-                                                        subst-rename?
-                                                        wrap-subst
-                                                        wrap-marks
-                                                        make-wrap
-                                                        id-sym-name&marks
-                                                        id-sym-name
-                                                        id?
-                                                        nonsymbol-id?
-                                                        global-extend
-                                                        lookup
-                                                        macros-only-env
-                                                        extend-var-env
-                                                        extend-env
-                                                        null-env
-                                                        binding-value
-                                                        binding-type
-                                                        make-binding
-                                                        arg-check
-                                                        source-annotation
-                                                        no-source
-                                                        set-syntax-object-module!
-                                                        set-syntax-object-wrap!
-                                                        set-syntax-object-expression!
-                                                        syntax-object-module
-                                                        syntax-object-wrap
-                                                        syntax-object-expression
-                                                        syntax-object?
-                                                        make-syntax-object
-                                                        build-lexical-var
-                                                        build-letrec
-                                                        build-named-let
-                                                        build-let
-                                                        build-sequence
-                                                        build-data
-                                                        build-primref
-                                                        build-lambda-case
-                                                        build-case-lambda
-                                                        build-simple-lambda
-                                                        build-global-definition
-                                                        maybe-name-value!
-                                                        build-global-assignment
-                                                        build-global-reference
-                                                        analyze-variable
-                                                        build-lexical-assignment
-                                                        build-lexical-reference
-                                                        build-conditional
-                                                        build-application
-                                                        build-void
-                                                        decorate-source
-                                                        get-global-definition-hook
-                                                        put-global-definition-hook
-                                                        gensym-hook
-                                                        local-eval-hook
-                                                        top-level-eval-hook
-                                                        fx<
-                                                        fx=
-                                                        fx-
-                                                        fx+
-                                                        *mode*
-                                                        noexpand)
-                                                      ((top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top)
-                                                       (top))
-                                                      ("i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"
-                                                       "i"))
-                                                    #(ribcage
-                                                      (define-structure
-                                                        and-map*)
-                                                      ((top) (top))
-                                                      ("i" "i")))
-                                                   (hygiene guile))
-                                                #{head\ 1567}#)
-                                          #{r\ 1549}#
-                                          #{w\ 1550}#
-                                          #{mod\ 1552}#)
-                                        (map (lambda (#{e\ 1580}#)
-                                               (#{chi\ 167}#
-                                                 #{e\ 1580}#
-                                                 #{r\ 1549}#
-                                                 #{w\ 1550}#
-                                                 #{mod\ 1552}#))
-                                             (append
-                                               #{tail\ 1568}#
-                                               (list #{val\ 1569}#))))))))
-                              #{tmp\ 1565}#)
-                       ((lambda (#{_\ 1582}#)
-                          (syntax-violation
-                            'set!
-                            "bad set!"
-                            (#{source-wrap\ 160}#
-                              #{e\ 1548}#
-                              #{w\ 1550}#
-                              #{s\ 1551}#
-                              #{mod\ 1552}#)))
-                        #{tmp\ 1553}#)))
-                   ($sc-dispatch
-                     #{tmp\ 1553}#
-                     '(any (any . each-any) any)))))
-              ($sc-dispatch
-                #{tmp\ 1553}#
-                '(any any any))))
-           #{e\ 1548}#)))
-      (#{global-extend\ 129}#
-        'module-ref
-        '@
-        (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\ 1585}#)
-                      #f)
-                  (apply (lambda (#{_\ 1590}# #{mod\ 1591}# #{id\ 1592}#)
-                           (values
-                             (syntax->datum #{id\ 1592}#)
-                             (syntax->datum
-                               (cons '#(syntax-object
-                                        public
-                                        ((top)
-                                         #(ribcage
-                                           #(_ mod id)
-                                           #((top) (top) (top))
-                                           #("i" "i" "i"))
-                                         #(ribcage () () ())
-                                         #(ribcage #(e) #((top)) #("i"))
-                                         #(ribcage
-                                           (lambda-var-list
-                                             gen-var
-                                             strip
-                                             chi-lambda-case
-                                             lambda*-formals
-                                             chi-simple-lambda
-                                             lambda-formals
-                                             ellipsis?
-                                             chi-void
-                                             eval-local-transformer
-                                             chi-local-syntax
-                                             chi-body
-                                             chi-macro
-                                             chi-application
-                                             chi-expr
-                                             chi
-                                             chi-top
-                                             syntax-type
-                                             chi-when-list
-                                             chi-install-global
-                                             chi-top-sequence
-                                             chi-sequence
-                                             source-wrap
-                                             wrap
-                                             bound-id-member?
-                                             distinct-bound-ids?
-                                             valid-bound-ids?
-                                             bound-id=?
-                                             free-id=?
-                                             id-var-name
-                                             same-marks?
-                                             join-marks
-                                             join-wraps
-                                             smart-append
-                                             make-binding-wrap
-                                             extend-ribcage!
-                                             make-empty-ribcage
-                                             new-mark
-                                             anti-mark
-                                             the-anti-mark
-                                             top-marked?
-                                             top-wrap
-                                             empty-wrap
-                                             set-ribcage-labels!
-                                             set-ribcage-marks!
-                                             set-ribcage-symnames!
-                                             ribcage-labels
-                                             ribcage-marks
-                                             ribcage-symnames
-                                             ribcage?
-                                             make-ribcage
-                                             gen-labels
-                                             gen-label
-                                             make-rename
-                                             rename-marks
-                                             rename-new
-                                             rename-old
-                                             subst-rename?
-                                             wrap-subst
-                                             wrap-marks
-                                             make-wrap
-                                             id-sym-name&marks
-                                             id-sym-name
-                                             id?
-                                             nonsymbol-id?
-                                             global-extend
-                                             lookup
-                                             macros-only-env
-                                             extend-var-env
-                                             extend-env
-                                             null-env
-                                             binding-value
-                                             binding-type
-                                             make-binding
-                                             arg-check
-                                             source-annotation
-                                             no-source
-                                             set-syntax-object-module!
-                                             set-syntax-object-wrap!
-                                             set-syntax-object-expression!
-                                             syntax-object-module
-                                             syntax-object-wrap
-                                             syntax-object-expression
-                                             syntax-object?
-                                             make-syntax-object
-                                             build-lexical-var
-                                             build-letrec
-                                             build-named-let
-                                             build-let
-                                             build-sequence
-                                             build-data
-                                             build-primref
-                                             build-lambda-case
-                                             build-case-lambda
-                                             build-simple-lambda
-                                             build-global-definition
-                                             maybe-name-value!
-                                             build-global-assignment
-                                             build-global-reference
-                                             analyze-variable
-                                             build-lexical-assignment
-                                             build-lexical-reference
-                                             build-conditional
-                                             build-application
-                                             build-void
-                                             decorate-source
-                                             get-global-definition-hook
-                                             put-global-definition-hook
-                                             gensym-hook
-                                             local-eval-hook
-                                             top-level-eval-hook
-                                             fx<
-                                             fx=
-                                             fx-
-                                             fx+
-                                             *mode*
-                                             noexpand)
-                                           ((top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top))
-                                           ("i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"))
-                                         #(ribcage
-                                           (define-structure and-map*)
-                                           ((top) (top))
-                                           ("i" "i")))
-                                        (hygiene guile))
-                                     #{mod\ 1591}#))))
-                         #{tmp\ 1585}#)
-                  (syntax-violation
-                    #f
-                    "source expression failed to match any pattern"
-                    #{tmp\ 1584}#)))
-              ($sc-dispatch
-                #{tmp\ 1584}#
-                '(any each-any any))))
-           #{e\ 1583}#)))
-      (#{global-extend\ 129}#
-        'module-ref
-        '@@
-        (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\ 1596}#)
-                      #f)
-                  (apply (lambda (#{_\ 1601}# #{mod\ 1602}# #{id\ 1603}#)
-                           (values
-                             (syntax->datum #{id\ 1603}#)
-                             (syntax->datum
-                               (cons '#(syntax-object
-                                        private
-                                        ((top)
-                                         #(ribcage
-                                           #(_ mod id)
-                                           #((top) (top) (top))
-                                           #("i" "i" "i"))
-                                         #(ribcage () () ())
-                                         #(ribcage #(e) #((top)) #("i"))
-                                         #(ribcage
-                                           (lambda-var-list
-                                             gen-var
-                                             strip
-                                             chi-lambda-case
-                                             lambda*-formals
-                                             chi-simple-lambda
-                                             lambda-formals
-                                             ellipsis?
-                                             chi-void
-                                             eval-local-transformer
-                                             chi-local-syntax
-                                             chi-body
-                                             chi-macro
-                                             chi-application
-                                             chi-expr
-                                             chi
-                                             chi-top
-                                             syntax-type
-                                             chi-when-list
-                                             chi-install-global
-                                             chi-top-sequence
-                                             chi-sequence
-                                             source-wrap
-                                             wrap
-                                             bound-id-member?
-                                             distinct-bound-ids?
-                                             valid-bound-ids?
-                                             bound-id=?
-                                             free-id=?
-                                             id-var-name
-                                             same-marks?
-                                             join-marks
-                                             join-wraps
-                                             smart-append
-                                             make-binding-wrap
-                                             extend-ribcage!
-                                             make-empty-ribcage
-                                             new-mark
-                                             anti-mark
-                                             the-anti-mark
-                                             top-marked?
-                                             top-wrap
-                                             empty-wrap
-                                             set-ribcage-labels!
-                                             set-ribcage-marks!
-                                             set-ribcage-symnames!
-                                             ribcage-labels
-                                             ribcage-marks
-                                             ribcage-symnames
-                                             ribcage?
-                                             make-ribcage
-                                             gen-labels
-                                             gen-label
-                                             make-rename
-                                             rename-marks
-                                             rename-new
-                                             rename-old
-                                             subst-rename?
-                                             wrap-subst
-                                             wrap-marks
-                                             make-wrap
-                                             id-sym-name&marks
-                                             id-sym-name
-                                             id?
-                                             nonsymbol-id?
-                                             global-extend
-                                             lookup
-                                             macros-only-env
-                                             extend-var-env
-                                             extend-env
-                                             null-env
-                                             binding-value
-                                             binding-type
-                                             make-binding
-                                             arg-check
-                                             source-annotation
-                                             no-source
-                                             set-syntax-object-module!
-                                             set-syntax-object-wrap!
-                                             set-syntax-object-expression!
-                                             syntax-object-module
-                                             syntax-object-wrap
-                                             syntax-object-expression
-                                             syntax-object?
-                                             make-syntax-object
-                                             build-lexical-var
-                                             build-letrec
-                                             build-named-let
-                                             build-let
-                                             build-sequence
-                                             build-data
-                                             build-primref
-                                             build-lambda-case
-                                             build-case-lambda
-                                             build-simple-lambda
-                                             build-global-definition
-                                             maybe-name-value!
-                                             build-global-assignment
-                                             build-global-reference
-                                             analyze-variable
-                                             build-lexical-assignment
-                                             build-lexical-reference
-                                             build-conditional
-                                             build-application
-                                             build-void
-                                             decorate-source
-                                             get-global-definition-hook
-                                             put-global-definition-hook
-                                             gensym-hook
-                                             local-eval-hook
-                                             top-level-eval-hook
-                                             fx<
-                                             fx=
-                                             fx-
-                                             fx+
-                                             *mode*
-                                             noexpand)
-                                           ((top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top))
-                                           ("i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"
-                                            "i"))
-                                         #(ribcage
-                                           (define-structure and-map*)
-                                           ((top) (top))
-                                           ("i" "i")))
-                                        (hygiene guile))
-                                     #{mod\ 1602}#))))
-                         #{tmp\ 1596}#)
-                  (syntax-violation
-                    #f
-                    "source expression failed to match any pattern"
-                    #{tmp\ 1595}#)))
-              ($sc-dispatch
-                #{tmp\ 1595}#
-                '(any each-any any))))
-           #{e\ 1594}#)))
-      (#{global-extend\ 129}#
-        'core
-        'if
-        (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\ 1608}#
-                             (#{chi\ 167}#
-                               #{test\ 1613}#
-                               #{r\ 1606}#
-                               #{w\ 1607}#
-                               #{mod\ 1609}#)
-                             (#{chi\ 167}#
-                               #{then\ 1614}#
-                               #{r\ 1606}#
-                               #{w\ 1607}#
-                               #{mod\ 1609}#)
-                             (#{build-void\ 95}# #f)))
-                         #{tmp\ 1611}#)
-                  ((lambda (#{tmp\ 1615}#)
-                     (if #{tmp\ 1615}#
-                       (apply (lambda (#{_\ 1616}#
-                                       #{test\ 1617}#
-                                       #{then\ 1618}#
-                                       #{else\ 1619}#)
-                                (#{build-conditional\ 97}#
-                                  #{s\ 1608}#
-                                  (#{chi\ 167}#
-                                    #{test\ 1617}#
-                                    #{r\ 1606}#
-                                    #{w\ 1607}#
-                                    #{mod\ 1609}#)
-                                  (#{chi\ 167}#
-                                    #{then\ 1618}#
-                                    #{r\ 1606}#
-                                    #{w\ 1607}#
-                                    #{mod\ 1609}#)
-                                  (#{chi\ 167}#
-                                    #{else\ 1619}#
-                                    #{r\ 1606}#
-                                    #{w\ 1607}#
-                                    #{mod\ 1609}#)))
-                              #{tmp\ 1615}#)
-                       (syntax-violation
-                         #f
-                         "source expression failed to match any pattern"
-                         #{tmp\ 1610}#)))
-                   ($sc-dispatch
-                     #{tmp\ 1610}#
-                     '(any any any any)))))
-              ($sc-dispatch
-                #{tmp\ 1610}#
-                '(any any any))))
-           #{e\ 1605}#)))
-      (#{global-extend\ 129}#
-        'begin
-        'begin
-        '())
-      (#{global-extend\ 129}#
-        'define
-        'define
-        '())
-      (#{global-extend\ 129}#
-        'define-syntax
-        'define-syntax
-        '())
-      (#{global-extend\ 129}#
-        'eval-when
-        'eval-when
-        '())
-      (#{global-extend\ 129}#
-        'core
-        'syntax-case
-        (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}#
-                           #f
-                           'syntax-violation)
-                         (list (#{build-data\ 109}# #f #f)
-                               (#{build-data\ 109}#
-                                 #f
-                                 "source expression failed to match any pattern")
-                               #{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\ 1633}#)
-                                                  (not (#{free-id=?\ 154}#
-                                                         #{pat\ 1631}#
-                                                         #{x\ 1633}#)))
-                                                (cons '#(syntax-object
-                                                         ...
-                                                         ((top)
-                                                          #(ribcage
-                                                            #(pat exp)
-                                                            #((top) (top))
-                                                            #("i" "i"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(x
-                                                              keys
-                                                              clauses
-                                                              r
-                                                              mod)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i"
-                                                              "i"
-                                                              "i"
-                                                              "i"
-                                                              "i"))
-                                                          #(ribcage
-                                                            (gen-syntax-case
-                                                              gen-clause
-                                                              build-dispatch-call
-                                                              convert-pattern)
-                                                            ((top)
-                                                             (top)
-                                                             (top)
-                                                             (top))
-                                                            ("i" "i" "i" "i"))
-                                                          #(ribcage
-                                                            (lambda-var-list
-                                                              gen-var
-                                                              strip
-                                                              chi-lambda-case
-                                                              lambda*-formals
-                                                              chi-simple-lambda
-                                                              lambda-formals
-                                                              ellipsis?
-                                                              chi-void
-                                                              eval-local-transformer
-                                                              chi-local-syntax
-                                                              chi-body
-                                                              chi-macro
-                                                              chi-application
-                                                              chi-expr
-                                                              chi
-                                                              chi-top
-                                                              syntax-type
-                                                              chi-when-list
-                                                              chi-install-global
-                                                              chi-top-sequence
-                                                              chi-sequence
-                                                              source-wrap
-                                                              wrap
-                                                              bound-id-member?
-                                                              distinct-bound-ids?
-                                                              valid-bound-ids?
-                                                              bound-id=?
-                                                              free-id=?
-                                                              id-var-name
-                                                              same-marks?
-                                                              join-marks
-                                                              join-wraps
-                                                              smart-append
-                                                              make-binding-wrap
-                                                              extend-ribcage!
-                                                              make-empty-ribcage
-                                                              new-mark
-                                                              anti-mark
-                                                              the-anti-mark
-                                                              top-marked?
-                                                              top-wrap
-                                                              empty-wrap
-                                                              set-ribcage-labels!
-                                                              set-ribcage-marks!
-                                                              set-ribcage-symnames!
-                                                              ribcage-labels
-                                                              ribcage-marks
-                                                              ribcage-symnames
-                                                              ribcage?
-                                                              make-ribcage
-                                                              gen-labels
-                                                              gen-label
-                                                              make-rename
-                                                              rename-marks
-                                                              rename-new
-                                                              rename-old
-                                                              subst-rename?
-                                                              wrap-subst
-                                                              wrap-marks
-                                                              make-wrap
-                                                              id-sym-name&marks
-                                                              id-sym-name
-                                                              id?
-                                                              nonsymbol-id?
-                                                              global-extend
-                                                              lookup
-                                                              macros-only-env
-                                                              extend-var-env
-                                                              extend-env
-                                                              null-env
-                                                              binding-value
-                                                              binding-type
-                                                              make-binding
-                                                              arg-check
-                                                              source-annotation
-                                                              no-source
-                                                              set-syntax-object-module!
-                                                              set-syntax-object-wrap!
-                                                              set-syntax-object-expression!
-                                                              syntax-object-module
-                                                              syntax-object-wrap
-                                                              syntax-object-expression
-                                                              syntax-object?
-                                                              make-syntax-object
-                                                              build-lexical-var
-                                                              build-letrec
-                                                              build-named-let
-                                                              build-let
-                                                              build-sequence
-                                                              build-data
-                                                              build-primref
-                                                              build-lambda-case
-                                                              build-case-lambda
-                                                              build-simple-lambda
-                                                              build-global-definition
-                                                              maybe-name-value!
-                                                              build-global-assignment
-                                                              build-global-reference
-                                                              analyze-variable
-                                                              build-lexical-assignment
-                                                              build-lexical-reference
-                                                              build-conditional
-                                                              build-application
-                                                              build-void
-                                                              decorate-source
-                                                              get-global-definition-hook
-                                                              put-global-definition-hook
-                                                              gensym-hook
-                                                              local-eval-hook
-                                                              top-level-eval-hook
-                                                              fx<
-                                                              fx=
-                                                              fx-
-                                                              fx+
-                                                              *mode*
-                                                              noexpand)
-                                                            ((top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top)
-                                                             (top))
-                                                            ("i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"
-                                                             "i"))
-                                                          #(ribcage
-                                                            (define-structure
-                                                              and-map*)
-                                                            ((top) (top))
-                                                            ("i" "i")))
-                                                         (hygiene guile))
-                                                      #{keys\ 1625}#))
-                                              #f)
-                                          (let ((#{labels\ 1634}#
-                                                  (list (#{gen-label\ 136}#)))
-                                                (#{var\ 1635}#
-                                                  (#{gen-var\ 181}#
-                                                    #{pat\ 1631}#)))
-                                            (#{build-application\ 96}#
-                                              #f
-                                              (#{build-simple-lambda\ 105}#
-                                                #f
-                                                (list (syntax->datum
-                                                        #{pat\ 1631}#))
-                                                #f
-                                                (list #{var\ 1635}#)
-                                                #f
-                                                (#{chi\ 167}#
-                                                  #{exp\ 1632}#
-                                                  (#{extend-env\ 125}#
-                                                    #{labels\ 1634}#
-                                                    (list (cons 'syntax
-                                                                (cons #{var\ 1635}#
-                                                                      0)))
-                                                    #{r\ 1627}#)
-                                                  (#{make-binding-wrap\ 148}#
-                                                    (list #{pat\ 1631}#)
-                                                    #{labels\ 1634}#
-                                                    '(()))
-                                                  #{mod\ 1628}#))
-                                              (list #{x\ 1624}#)))
-                                          (#{gen-clause\ 1622}#
-                                            #{x\ 1624}#
-                                            #{keys\ 1625}#
-                                            (cdr #{clauses\ 1626}#)
-                                            #{r\ 1627}#
-                                            #{pat\ 1631}#
-                                            #t
-                                            #{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\ 1626}#)))
-                                     #{tmp\ 1629}#)))
-                                ($sc-dispatch
-                                  #{tmp\ 1629}#
-                                  '(any any any)))))
-                           ($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\ 1620}#
-                           #{pat\ 1645}#
-                           #{keys\ 1642}#))
-                       (lambda (#{p\ 1649}# #{pvars\ 1650}#)
-                         (if (not (#{distinct-bound-ids?\ 157}#
-                                    (map car #{pvars\ 1650}#)))
-                           (syntax-violation
-                             'syntax-case
-                             "duplicate pattern variable"
-                             #{pat\ 1645}#)
-                           (if (not (and-map
-                                      (lambda (#{x\ 1651}#)
-                                        (not (#{ellipsis?\ 175}#
-                                               (car #{x\ 1651}#))))
-                                      #{pvars\ 1650}#))
-                             (syntax-violation
-                               'syntax-case
-                               "misplaced ellipsis"
-                               #{pat\ 1645}#)
-                             (let ((#{y\ 1652}#
-                                     (#{gen-var\ 181}# (quote tmp))))
-                               (#{build-application\ 96}#
-                                 #f
-                                 (#{build-simple-lambda\ 105}#
-                                   #f
-                                   (list (quote tmp))
-                                   #f
-                                   (list #{y\ 1652}#)
-                                   #f
-                                   (let ((#{y\ 1653}#
-                                           (#{build-lexical-reference\ 98}#
-                                             'value
-                                             #f
-                                             'tmp
-                                             #{y\ 1652}#)))
-                                     (#{build-conditional\ 97}#
-                                       #f
-                                       ((lambda (#{tmp\ 1654}#)
-                                          ((lambda (#{tmp\ 1655}#)
-                                             (if #{tmp\ 1655}#
-                                               (apply (lambda () #{y\ 1653}#)
-                                                      #{tmp\ 1655}#)
-                                               ((lambda (#{_\ 1656}#)
-                                                  (#{build-conditional\ 97}#
-                                                    #f
-                                                    #{y\ 1653}#
-                                                    (#{build-dispatch-call\ 1621}#
-                                                      #{pvars\ 1650}#
-                                                      #{fender\ 1646}#
-                                                      #{y\ 1653}#
-                                                      #{r\ 1644}#
-                                                      #{mod\ 1648}#)
-                                                    (#{build-data\ 109}#
-                                                      #f
-                                                      #f)))
-                                                #{tmp\ 1654}#)))
-                                           ($sc-dispatch
-                                             #{tmp\ 1654}#
-                                             '#(atom #t))))
-                                        #{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\ 1641}#))
-                                         (#{build-application\ 96}#
-                                           #f
-                                           (#{build-primref\ 108}#
-                                             #f
-                                             '$sc-dispatch)
-                                           (list #{x\ 1641}#
-                                                 (#{build-data\ 109}#
-                                                   #f
-                                                   #{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\ 1662}#)
-                                   #f
-                                   #{new-vars\ 1665}#
-                                   #f
-                                   (#{chi\ 167}#
-                                     #{exp\ 1658}#
-                                     (#{extend-env\ 125}#
-                                       #{labels\ 1664}#
-                                       (map (lambda (#{var\ 1666}#
-                                                     #{level\ 1667}#)
-                                              (cons 'syntax
-                                                    (cons #{var\ 1666}#
-                                                          #{level\ 1667}#)))
-                                            #{new-vars\ 1665}#
-                                            (map cdr #{pvars\ 1657}#))
-                                       #{r\ 1660}#)
-                                     (#{make-binding-wrap\ 148}#
-                                       #{ids\ 1662}#
-                                       #{labels\ 1664}#
-                                       '(()))
-                                     #{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\ 1671}#
-                                          #{keys\ 1669}#)
-                                      (values
-                                        (vector (quote free-id) #{p\ 1671}#)
-                                        #{ids\ 1673}#)
-                                      (values
-                                        'any
-                                        (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\ 1677}#))
-                                                       #{tmp\ 1675}#)
-                                                #f)
-                                            (apply (lambda (#{x\ 1678}#
-                                                            #{dots\ 1679}#)
-                                                     (call-with-values
-                                                       (lambda ()
-                                                         (#{cvt\ 1670}#
-                                                           #{x\ 1678}#
-                                                           (#{fx+\ 86}#
-                                                             #{n\ 1672}#
-                                                             1)
-                                                           #{ids\ 1673}#))
-                                                       (lambda (#{p\ 1680}#
-                                                                #{ids\ 1681}#)
-                                                         (values
-                                                           (if (eq? #{p\ 1680}#
-                                                                    'any)
-                                                             'each-any
-                                                             (vector
-                                                               'each
-                                                               #{p\ 1680}#))
-                                                           #{ids\ 1681}#))))
-                                                   #{tmp\ 1675}#)
-                                            ((lambda (#{tmp\ 1682}#)
-                                               (if #{tmp\ 1682}#
-                                                 (apply (lambda (#{x\ 1683}#
-                                                                 #{y\ 1684}#)
-                                                          (call-with-values
-                                                            (lambda ()
-                                                              (#{cvt\ 1670}#
-                                                                #{y\ 1684}#
-                                                                #{n\ 1672}#
-                                                                #{ids\ 1673}#))
-                                                            (lambda (#{y\ 1685}#
-                                                                     #{ids\ 1686}#)
-                                                              (call-with-values
-                                                                (lambda ()
-                                                                  (#{cvt\ 1670}#
-                                                                    #{x\ 1683}#
-                                                                    #{n\ 1672}#
-                                                                    #{ids\ 1686}#))
-                                                                (lambda (#{x\ 1687}#
-                                                                         #{ids\ 1688}#)
-                                                                  (values
-                                                                    (cons #{x\ 1687}#
-                                                                          #{y\ 1685}#)
-                                                                    #{ids\ 1688}#))))))
-                                                        #{tmp\ 1682}#)
-                                                 ((lambda (#{tmp\ 1689}#)
-                                                    (if #{tmp\ 1689}#
-                                                      (apply (lambda ()
-                                                               (values
-                                                                 '()
-                                                                 #{ids\ 1673}#))
-                                                             #{tmp\ 1689}#)
-                                                      ((lambda (#{tmp\ 1690}#)
-                                                         (if #{tmp\ 1690}#
-                                                           (apply (lambda (#{x\ 1691}#)
-                                                                    (call-with-values
-                                                                      (lambda ()
-                                                                        (#{cvt\ 1670}#
-                                                                          #{x\ 1691}#
-                                                                          #{n\ 1672}#
-                                                                          #{ids\ 1673}#))
-                                                                      (lambda (#{p\ 1693}#
-                                                                               #{ids\ 1694}#)
-                                                                        (values
-                                                                          (vector
-                                                                            'vector
-                                                                            #{p\ 1693}#)
-                                                                          #{ids\ 1694}#))))
-                                                                  #{tmp\ 1690}#)
-                                                           ((lambda (#{x\ 1695}#)
-                                                              (values
-                                                                (vector
-                                                                  'atom
-                                                                  (#{strip\ 180}#
-                                                                    #{p\ 1671}#
-                                                                    '(())))
-                                                                #{ids\ 1673}#))
-                                                            #{tmp\ 1674}#)))
-                                                       ($sc-dispatch
-                                                         #{tmp\ 1674}#
-                                                         '#(vector
-                                                            each-any)))))
-                                                  ($sc-dispatch
-                                                    #{tmp\ 1674}#
-                                                    '()))))
-                                             ($sc-dispatch
-                                               #{tmp\ 1674}#
-                                               '(any . any)))))
-                                        ($sc-dispatch
-                                          #{tmp\ 1674}#
-                                          '(any any))))
-                                     #{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\ 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\ 1708}#)
-                                       (if (#{id?\ 131}# #{x\ 1708}#)
-                                         (not (#{ellipsis?\ 175}# #{x\ 1708}#))
-                                         #f))
-                                     #{key\ 1706}#)
-                                 (let ((#{x\ 1710}#
-                                         (#{gen-var\ 181}# (quote tmp))))
-                                   (#{build-application\ 96}#
-                                     #{s\ 1699}#
-                                     (#{build-simple-lambda\ 105}#
-                                       #f
-                                       (list (quote tmp))
-                                       #f
-                                       (list #{x\ 1710}#)
-                                       #f
-                                       (#{gen-syntax-case\ 1623}#
-                                         (#{build-lexical-reference\ 98}#
-                                           'value
-                                           #f
-                                           'tmp
-                                           #{x\ 1710}#)
-                                         #{key\ 1706}#
-                                         #{m\ 1707}#
-                                         #{r\ 1697}#
-                                         #{mod\ 1700}#))
-                                     (list (#{chi\ 167}#
-                                             #{val\ 1705}#
-                                             #{r\ 1697}#
-                                             '(())
-                                             #{mod\ 1700}#))))
-                                 (syntax-violation
-                                   'syntax-case
-                                   "invalid literals list"
-                                   #{e\ 1701}#)))
-                             #{tmp\ 1703}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp\ 1702}#)))
-                  ($sc-dispatch
-                    #{tmp\ 1702}#
-                    '(any any each-any . each-any))))
-               #{e\ 1701}#)))))
-      (set! sc-expand
-        (lambda (#{x\ 1713}# . #{rest\ 1714}#)
-          (if (if (pair? #{x\ 1713}#)
-                (equal? (car #{x\ 1713}#) #{noexpand\ 84}#)
-                #f)
-            (cadr #{x\ 1713}#)
-            (let ((#{m\ 1715}#
-                    (if (null? #{rest\ 1714}#)
-                      'e
-                      (car #{rest\ 1714}#)))
-                  (#{esew\ 1716}#
-                    (if (let ((#{t\ 1717}# (null? #{rest\ 1714}#)))
-                          (if #{t\ 1717}#
-                            #{t\ 1717}#
-                            (null? (cdr #{rest\ 1714}#))))
-                      '(eval)
-                      (cadr #{rest\ 1714}#))))
-              (with-fluid*
-                #{*mode*\ 85}#
-                #{m\ 1715}#
-                (lambda ()
-                  (#{chi-top\ 166}#
-                    #{x\ 1713}#
-                    '()
-                    '((top))
-                    #{m\ 1715}#
-                    #{esew\ 1716}#
-                    (cons 'hygiene
-                          (module-name (current-module))))))))))
-      (set! identifier?
-        (lambda (#{x\ 1718}#)
-          (#{nonsymbol-id?\ 130}# #{x\ 1718}#)))
-      (set! datum->syntax
-        (lambda (#{id\ 1719}# #{datum\ 1720}#)
-          (#{make-syntax-object\ 114}#
-            #{datum\ 1720}#
-            (#{syntax-object-wrap\ 117}# #{id\ 1719}#)
-            #f)))
-      (set! syntax->datum
-        (lambda (#{x\ 1721}#)
-          (#{strip\ 180}# #{x\ 1721}# (quote (())))))
-      (set! generate-temporaries
-        (lambda (#{ls\ 1722}#)
-          (begin
-            (let ((#{x\ 1723}# #{ls\ 1722}#))
-              (if (not (list? #{x\ 1723}#))
-                (syntax-violation
-                  'generate-temporaries
-                  "invalid argument"
-                  #{x\ 1723}#)))
-            (map (lambda (#{x\ 1724}#)
-                   (#{wrap\ 159}# (gensym) (quote ((top))) #f))
-                 #{ls\ 1722}#))))
-      (set! free-identifier=?
-        (lambda (#{x\ 1725}# #{y\ 1726}#)
-          (begin
-            (let ((#{x\ 1727}# #{x\ 1725}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1727}#))
-                (syntax-violation
-                  'free-identifier=?
-                  "invalid argument"
-                  #{x\ 1727}#)))
-            (let ((#{x\ 1728}# #{y\ 1726}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1728}#))
-                (syntax-violation
-                  'free-identifier=?
-                  "invalid argument"
-                  #{x\ 1728}#)))
-            (#{free-id=?\ 154}# #{x\ 1725}# #{y\ 1726}#))))
-      (set! bound-identifier=?
-        (lambda (#{x\ 1729}# #{y\ 1730}#)
-          (begin
-            (let ((#{x\ 1731}# #{x\ 1729}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1731}#))
-                (syntax-violation
-                  'bound-identifier=?
-                  "invalid argument"
-                  #{x\ 1731}#)))
-            (let ((#{x\ 1732}# #{y\ 1730}#))
-              (if (not (#{nonsymbol-id?\ 130}# #{x\ 1732}#))
-                (syntax-violation
-                  'bound-identifier=?
-                  "invalid argument"
-                  #{x\ 1732}#)))
-            (#{bound-id=?\ 155}# #{x\ 1729}# #{y\ 1730}#))))
-      (set! syntax-violation
-        (lambda (#{who\ 1733}#
-                 #{message\ 1734}#
-                 #{form\ 1735}#
-                 .
-                 #{subform\ 1736}#)
-          (begin
-            (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\ 1737}#)))
-            (let ((#{x\ 1741}# #{message\ 1734}#))
-              (if (not (string? #{x\ 1741}#))
-                (syntax-violation
-                  'syntax-violation
-                  "invalid argument"
-                  #{x\ 1741}#)))
-            (scm-error
-              'syntax-error
-              'sc-expand
-              (string-append
-                (if #{who\ 1733}# "~a: " "")
-                "~a "
-                (if (null? #{subform\ 1736}#)
-                  "in ~a"
-                  "in subform `~s' of `~s'"))
-              (let ((#{tail\ 1742}#
-                      (cons #{message\ 1734}#
-                            (map (lambda (#{x\ 1743}#)
-                                   (#{strip\ 180}# #{x\ 1743}# (quote (()))))
-                                 (append
-                                   #{subform\ 1736}#
-                                   (list #{form\ 1735}#))))))
-                (if #{who\ 1733}#
-                  (cons #{who\ 1733}# #{tail\ 1742}#)
-                  #{tail\ 1742}#))
-              #f))))
-      (letrec ((#{match\ 1748}#
-                 (lambda (#{e\ 1749}#
-                          #{p\ 1750}#
-                          #{w\ 1751}#
-                          #{r\ 1752}#
-                          #{mod\ 1753}#)
-                   (if (not #{r\ 1752}#)
-                     #f
-                     (if (eq? #{p\ 1750}# (quote any))
-                       (cons (#{wrap\ 159}#
-                               #{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\ 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\ 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\ 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\ 1763}#)))))))
-                                     (#{collect\ 1762}# #{l\ 1761}#))
-                                   #f)))
-                             (if (memv #{atom-key\ 1760}# (quote (free-id)))
-                               (if (#{id?\ 131}# #{e\ 1754}#)
-                                 (if (#{free-id=?\ 154}#
-                                       (#{wrap\ 159}#
-                                         #{e\ 1754}#
-                                         #{w\ 1756}#
-                                         #{mod\ 1758}#)
-                                       (vector-ref #{p\ 1755}# 1))
-                                   #{r\ 1757}#
-                                   #f)
-                                 #f)
-                               (if (memv #{atom-key\ 1760}# (quote (atom)))
-                                 (if (equal?
-                                       (vector-ref #{p\ 1755}# 1)
-                                       (#{strip\ 180}#
-                                         #{e\ 1754}#
-                                         #{w\ 1756}#))
-                                   #{r\ 1757}#
-                                   #f)
-                                 (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\ 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\ 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\ 1767}#)
-                                 #{w\ 1768}#
-                                 #{mod\ 1769}#)
-                               #{l\ 1770}#)
-                         #f))
-                     (if (null? #{e\ 1767}#)
-                       '()
-                       (if (#{syntax-object?\ 115}# #{e\ 1767}#)
-                         (#{match-each-any\ 1745}#
-                           (#{syntax-object-expression\ 116}# #{e\ 1767}#)
-                           (#{join-wraps\ 150}#
-                             #{w\ 1768}#
-                             (#{syntax-object-wrap\ 117}# #{e\ 1767}#))
-                           #{mod\ 1769}#)
-                         #f)))))
-               (#{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\ 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\ 1771}#)
-                       '()
-                       (if (#{syntax-object?\ 115}# #{e\ 1771}#)
-                         (#{match-each\ 1744}#
-                           (#{syntax-object-expression\ 116}# #{e\ 1771}#)
-                           #{p\ 1772}#
-                           (#{join-wraps\ 150}#
-                             #{w\ 1773}#
-                             (#{syntax-object-wrap\ 117}# #{e\ 1771}#))
-                           (#{syntax-object-module\ 118}# #{e\ 1771}#))
-                         #f))))))
-        (set! $sc-dispatch
-          (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\ 1777}#))
-                (#{match*\ 1747}#
-                  #{e\ 1777}#
-                  #{p\ 1778}#
-                  '(())
-                  '()
-                  #f)))))))))
-
-(define with-syntax
-  (make-syncase-macro
-    'macro
-    (lambda (#{x\ 1779}#)
-      ((lambda (#{tmp\ 1780}#)
-         ((lambda (#{tmp\ 1781}#)
-            (if #{tmp\ 1781}#
-              (apply (lambda (#{_\ 1782}# #{e1\ 1783}# #{e2\ 1784}#)
-                       (cons '#(syntax-object
-                                begin
-                                ((top)
-                                 #(ribcage
-                                   #(_ e1 e2)
-                                   #((top) (top) (top))
-                                   #("i" "i" "i"))
-                                 #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i")))
-                                (hygiene guile))
-                             (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)
-                                      #(ribcage
-                                        #(_ out in e1 e2)
-                                        #((top) (top) (top) (top) (top))
-                                        #("i" "i" "i" "i" "i"))
-                                      #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i")))
-                                     (hygiene guile))
-                                  #{in\ 1789}#
-                                  '()
-                                  (list #{out\ 1788}#
-                                        (cons '#(syntax-object
-                                                 begin
-                                                 ((top)
-                                                  #(ribcage
-                                                    #(_ out in e1 e2)
-                                                    #((top)
-                                                      (top)
-                                                      (top)
-                                                      (top)
-                                                      (top))
-                                                    #("i" "i" "i" "i" "i"))
-                                                  #(ribcage () () ())
-                                                  #(ribcage
-                                                    #(x)
-                                                    #((top))
-                                                    #("i")))
-                                                 (hygiene guile))
-                                              (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)
-                                           #(ribcage
-                                             #(_ out in e1 e2)
-                                             #((top) (top) (top) (top) (top))
-                                             #("i" "i" "i" "i" "i"))
-                                           #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i")))
-                                          (hygiene guile))
-                                       (cons '#(syntax-object
-                                                list
-                                                ((top)
-                                                 #(ribcage
-                                                   #(_ out in e1 e2)
-                                                   #((top)
-                                                     (top)
-                                                     (top)
-                                                     (top)
-                                                     (top))
-                                                   #("i" "i" "i" "i" "i"))
-                                                 #(ribcage () () ())
-                                                 #(ribcage
-                                                   #(x)
-                                                   #((top))
-                                                   #("i")))
-                                                (hygiene guile))
-                                             #{in\ 1796}#)
-                                       '()
-                                       (list #{out\ 1795}#
-                                             (cons '#(syntax-object
-                                                      begin
-                                                      ((top)
-                                                       #(ribcage
-                                                         #(_ out in e1 e2)
-                                                         #((top)
-                                                           (top)
-                                                           (top)
-                                                           (top)
-                                                           (top))
-                                                         #("i"
-                                                           "i"
-                                                           "i"
-                                                           "i"
-                                                           "i"))
-                                                       #(ribcage () () ())
-                                                       #(ribcage
-                                                         #(x)
-                                                         #((top))
-                                                         #("i")))
-                                                      (hygiene guile))
-                                                   (cons #{e1\ 1797}#
-                                                         #{e2\ 1798}#)))))
-                               #{tmp\ 1793}#)
-                        (syntax-violation
-                          #f
-                          "source expression failed to match any pattern"
-                          #{tmp\ 1780}#)))
-                    ($sc-dispatch
-                      #{tmp\ 1780}#
-                      '(any #(each (any any)) any . each-any)))))
-               ($sc-dispatch
-                 #{tmp\ 1780}#
-                 '(any ((any any)) any . each-any)))))
-          ($sc-dispatch
-            #{tmp\ 1780}#
-            '(any () any . each-any))))
-       #{x\ 1779}#))))
-
-(define syntax-rules
-  (make-syncase-macro
-    'macro
-    (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)
-                                 #(ribcage
-                                   #(_ k keyword pattern template)
-                                   #((top) (top) (top) (top) (top))
-                                   #("i" "i" "i" "i" "i"))
-                                 #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i")))
-                                (hygiene guile))
-                             '(#(syntax-object
-                                 x
-                                 ((top)
-                                  #(ribcage
-                                    #(_ k keyword pattern template)
-                                    #((top) (top) (top) (top) (top))
-                                    #("i" "i" "i" "i" "i"))
-                                  #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i")))
-                                 (hygiene guile)))
-                             (cons '#(syntax-object
-                                      syntax-case
-                                      ((top)
-                                       #(ribcage
-                                         #(_ k keyword pattern template)
-                                         #((top) (top) (top) (top) (top))
-                                         #("i" "i" "i" "i" "i"))
-                                       #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i")))
-                                      (hygiene guile))
-                                   (cons '#(syntax-object
-                                            x
-                                            ((top)
-                                             #(ribcage
-                                               #(_ k keyword pattern template)
-                                               #((top) (top) (top) (top) (top))
-                                               #("i" "i" "i" "i" "i"))
-                                             #(ribcage () () ())
-                                             #(ribcage #(x) #((top)) #("i")))
-                                            (hygiene guile))
-                                         (cons #{k\ 1806}#
-                                               (map (lambda (#{tmp\ 1812}#
-                                                             #{tmp\ 1811}#)
-                                                      (list (cons '#(syntax-object
-                                                                     dummy
-                                                                     ((top)
-                                                                      #(ribcage
-                                                                        #(_
-                                                                          k
-                                                                          keyword
-                                                                          pattern
-                                                                          template)
-                                                                        #((top)
-                                                                          (top)
-                                                                          (top)
-                                                                          (top)
-                                                                          (top))
-                                                                        #("i"
-                                                                          "i"
-                                                                          "i"
-                                                                          "i"
-                                                                          "i"))
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        #(x)
-                                                                        #((top))
-                                                                        #("i")))
-                                                                     (hygiene
-                                                                       guile))
-                                                                  #{tmp\ 1811}#)
-                                                            (list '#(syntax-object
-                                                                     syntax
-                                                                     ((top)
-                                                                      #(ribcage
-                                                                        #(_
-                                                                          k
-                                                                          keyword
-                                                                          pattern
-                                                                          template)
-                                                                        #((top)
-                                                                          (top)
-                                                                          (top)
-                                                                          (top)
-                                                                          (top))
-                                                                        #("i"
-                                                                          "i"
-                                                                          "i"
-                                                                          "i"
-                                                                          "i"))
-                                                                      #(ribcage
-                                                                        ()
-                                                                        ()
-                                                                        ())
-                                                                      #(ribcage
-                                                                        #(x)
-                                                                        #((top))
-                                                                        #("i")))
-                                                                     (hygiene
-                                                                       guile))
-                                                                  #{tmp\ 1812}#)))
-                                                    #{template\ 1809}#
-                                                    #{pattern\ 1808}#))))))
-                     #{tmp\ 1804}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp\ 1803}#)))
-          ($sc-dispatch
-            #{tmp\ 1803}#
-            '(any each-any . #(each ((any . any) any))))))
-       #{x\ 1802}#))))
-
-(define let*
-  (make-extended-syncase-macro
-    (module-ref (current-module) (quote let*))
-    'macro
-    (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*\ 1822}#
-                              #{x\ 1823}#
-                              #{v\ 1824}#
-                              #{e1\ 1825}#
-                              #{e2\ 1826}#)
-                       (letrec ((#{f\ 1827}#
-                                  (lambda (#{bindings\ 1828}#)
-                                    (if (null? #{bindings\ 1828}#)
-                                      (cons '#(syntax-object
-                                               let
-                                               ((top)
-                                                #(ribcage () () ())
-                                                #(ribcage
-                                                  #(f bindings)
-                                                  #((top) (top))
-                                                  #("i" "i"))
-                                                #(ribcage
-                                                  #(let* x v e1 e2)
-                                                  #((top)
-                                                    (top)
-                                                    (top)
-                                                    (top)
-                                                    (top))
-                                                  #("i" "i" "i" "i" "i"))
-                                                #(ribcage () () ())
-                                                #(ribcage
-                                                  #(x)
-                                                  #((top))
-                                                  #("i")))
-                                               (hygiene guile))
-                                            (cons '()
-                                                  (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)
-                                                                 #(ribcage
-                                                                   #(body
-                                                                     binding)
-                                                                   #((top)
-                                                                     (top))
-                                                                   #("i" "i"))
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   #(f
-                                                                     bindings)
-                                                                   #((top)
-                                                                     (top))
-                                                                   #("i" "i"))
-                                                                 #(ribcage
-                                                                   #(let*
-                                                                     x
-                                                                     v
-                                                                     e1
-                                                                     e2)
-                                                                   #((top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top)
-                                                                     (top))
-                                                                   #("i"
-                                                                     "i"
-                                                                     "i"
-                                                                     "i"
-                                                                     "i"))
-                                                                 #(ribcage
-                                                                   ()
-                                                                   ()
-                                                                   ())
-                                                                 #(ribcage
-                                                                   #(x)
-                                                                   #((top))
-                                                                   #("i")))
-                                                                (hygiene
-                                                                  guile))
-                                                             (list #{binding\ 1835}#)
-                                                             #{body\ 1834}#))
-                                                     #{tmp\ 1833}#)
-                                              (syntax-violation
-                                                #f
-                                                "source expression failed to match any pattern"
-                                                #{tmp\ 1832}#)))
-                                          ($sc-dispatch
-                                            #{tmp\ 1832}#
-                                            '(any any))))
-                                       (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\ 1814}#)))
-          ($sc-dispatch
-            #{tmp\ 1814}#
-            '(any #(each (any any)) any . each-any))))
-       #{x\ 1813}#))))
-
-(define do
-  (make-extended-syncase-macro
-    (module-ref (current-module) (quote do))
-    'macro
-    (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
-                                                                  ((top)
-                                                                   #(ribcage
-                                                                     #(step)
-                                                                     #((top))
-                                                                     #("i"))
-                                                                   #(ribcage
-                                                                     #(_
-                                                                       var
-                                                                       init
-                                                                       step
-                                                                       e0
-                                                                       e1
-                                                                       c)
-                                                                     #((top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top))
-                                                                     #("i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"))
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     #(orig-x)
-                                                                     #((top))
-                                                                     #("i")))
-                                                                  (hygiene
-                                                                    guile))
-                                                               '#(syntax-object
-                                                                  doloop
-                                                                  ((top)
-                                                                   #(ribcage
-                                                                     #(step)
-                                                                     #((top))
-                                                                     #("i"))
-                                                                   #(ribcage
-                                                                     #(_
-                                                                       var
-                                                                       init
-                                                                       step
-                                                                       e0
-                                                                       e1
-                                                                       c)
-                                                                     #((top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top))
-                                                                     #("i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"
-                                                                       "i"))
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     #(orig-x)
-                                                                     #((top))
-                                                                     #("i")))
-                                                                  (hygiene
-                                                                    guile))
-                                                               (map list
-                                                                    #{var\ 1840}#
-                                                                    #{init\ 1841}#)
-                                                               (list '#(syntax-object
-                                                                        if
-                                                                        ((top)
-                                                                         #(ribcage
-                                                                           #(step)
-                                                                           #((top))
-                                                                           #("i"))
-                                                                         #(ribcage
-                                                                           #(_
-                                                                             var
-                                                                             init
-                                                                             step
-                                                                             e0
-                                                                             e1
-                                                                             c)
-                                                                           #((top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top)
-                                                                             (top))
-                                                                           #("i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"
-                                                                             "i"))
-                                                                         #(ribcage
-                                                                           ()
-                                                                           ()
-                                                                           ())
-                                                                         #(ribcage
-                                                                           #(orig-x)
-                                                                           #((top))
-                                                                           #("i")))
-                                                                        (hygiene
-                                                                          guile))
-                                                                     (list '#(syntax-object
-                                                                              not
-                                                                              ((top)
-                                                                               #(ribcage
-                                                                                 #(step)
-                                                                                 #((top))
-                                                                                 #("i"))
-                                                                               #(ribcage
-                                                                                 #(_
-                                                                                   var
-                                                                                   init
-                                                                                   step
-                                                                                   e0
-                                                                                   e1
-                                                                                   c)
-                                                                                 #((top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top))
-                                                                                 #("i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"))
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 #(orig-x)
-                                                                                 #((top))
-                                                                                 #("i")))
-                                                                              (hygiene
-                                                                                guile))
-                                                                           #{e0\ 1843}#)
-                                                                     (cons '#(syntax-object
-                                                                              begin
-                                                                              ((top)
-                                                                               #(ribcage
-                                                                                 #(step)
-                                                                                 #((top))
-                                                                                 #("i"))
-                                                                               #(ribcage
-                                                                                 #(_
-                                                                                   var
-                                                                                   init
-                                                                                   step
-                                                                                   e0
-                                                                                   e1
-                                                                                   c)
-                                                                                 #((top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top)
-                                                                                   (top))
-                                                                                 #("i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"
-                                                                                   "i"))
-                                                                               #(ribcage
-                                                                                 ()
-                                                                                 ()
-                                                                                 ())
-                                                                               #(ribcage
-                                                                                 #(orig-x)
-                                                                                 #((top))
-                                                                                 #("i")))
-                                                                              (hygiene
-                                                                                guile))
-                                                                           (append
-                                                                             #{c\ 1845}#
-                                                                             (list (cons '#(syntax-object
-                                                                                            doloop
-                                                                                            ((top)
-                                                                                             #(ribcage
-                                                                                               #(step)
-                                                                                               #((top))
-                                                                                               #("i"))
-                                                                                             #(ribcage
-                                                                                               #(_
-                                                                                                 var
-                                                                                                 init
-                                                                                                 step
-                                                                                                 e0
-                                                                                                 e1
-                                                                                                 c)
-                                                                                               #((top)
-                                                                                                 (top)
-                                                                                                 (top)
-                                                                                                 (top)
-                                                                                                 (top)
-                                                                                                 (top)
-                                                                                                 (top))
-                                                                                               #("i"
-                                                                                                 "i"
-                                                                                                 "i"
-                                                                                                 "i"
-                                                                                                 "i"
-                                                                                                 "i"
-                                                                                                 "i"))
-                                                                                             #(ribcage
-                                                                                               ()
-                                                                                               ()
-                                                                                               ())
-                                                                                             #(ribcage
-                                                                                               #(orig-x)
-                                                                                               #((top))
-                                                                                               #("i")))
-                                                                                            (hygiene
-                                                                                              guile))
-                                                                                         #{step\ 1848}#)))))))
-                                                       #{tmp\ 1850}#)
-                                                ((lambda (#{tmp\ 1855}#)
-                                                   (if #{tmp\ 1855}#
-                                                     (apply (lambda (#{e1\ 1856}#
-                                                                     #{e2\ 1857}#)
-                                                              (list '#(syntax-object
-                                                                       let
-                                                                       ((top)
-                                                                        #(ribcage
-                                                                          #(e1
-                                                                            e2)
-                                                                          #((top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          #(step)
-                                                                          #((top))
-                                                                          #("i"))
-                                                                        #(ribcage
-                                                                          #(_
-                                                                            var
-                                                                            init
-                                                                            step
-                                                                            e0
-                                                                            e1
-                                                                            c)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(orig-x)
-                                                                          #((top))
-                                                                          #("i")))
-                                                                       (hygiene
-                                                                         guile))
-                                                                    '#(syntax-object
-                                                                       doloop
-                                                                       ((top)
-                                                                        #(ribcage
-                                                                          #(e1
-                                                                            e2)
-                                                                          #((top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          #(step)
-                                                                          #((top))
-                                                                          #("i"))
-                                                                        #(ribcage
-                                                                          #(_
-                                                                            var
-                                                                            init
-                                                                            step
-                                                                            e0
-                                                                            e1
-                                                                            c)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(orig-x)
-                                                                          #((top))
-                                                                          #("i")))
-                                                                       (hygiene
-                                                                         guile))
-                                                                    (map list
-                                                                         #{var\ 1840}#
-                                                                         #{init\ 1841}#)
-                                                                    (list '#(syntax-object
-                                                                             if
-                                                                             ((top)
-                                                                              #(ribcage
-                                                                                #(e1
-                                                                                  e2)
-                                                                                #((top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(step)
-                                                                                #((top))
-                                                                                #("i"))
-                                                                              #(ribcage
-                                                                                #(_
-                                                                                  var
-                                                                                  init
-                                                                                  step
-                                                                                  e0
-                                                                                  e1
-                                                                                  c)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(orig-x)
-                                                                                #((top))
-                                                                                #("i")))
-                                                                             (hygiene
-                                                                               guile))
-                                                                          #{e0\ 1843}#
-                                                                          (cons '#(syntax-object
-                                                                                   begin
-                                                                                   ((top)
-                                                                                    #(ribcage
-                                                                                      #(e1
-                                                                                        e2)
-                                                                                      #((top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      #(step)
-                                                                                      #((top))
-                                                                                      #("i"))
-                                                                                    #(ribcage
-                                                                                      #(_
-                                                                                        var
-                                                                                        init
-                                                                                        step
-                                                                                        e0
-                                                                                        e1
-                                                                                        c)
-                                                                                      #((top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      ()
-                                                                                      ()
-                                                                                      ())
-                                                                                    #(ribcage
-                                                                                      #(orig-x)
-                                                                                      #((top))
-                                                                                      #("i")))
-                                                                                   (hygiene
-                                                                                     guile))
-                                                                                (cons #{e1\ 1856}#
-                                                                                      #{e2\ 1857}#))
-                                                                          (cons '#(syntax-object
-                                                                                   begin
-                                                                                   ((top)
-                                                                                    #(ribcage
-                                                                                      #(e1
-                                                                                        e2)
-                                                                                      #((top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      #(step)
-                                                                                      #((top))
-                                                                                      #("i"))
-                                                                                    #(ribcage
-                                                                                      #(_
-                                                                                        var
-                                                                                        init
-                                                                                        step
-                                                                                        e0
-                                                                                        e1
-                                                                                        c)
-                                                                                      #((top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      ()
-                                                                                      ()
-                                                                                      ())
-                                                                                    #(ribcage
-                                                                                      #(orig-x)
-                                                                                      #((top))
-                                                                                      #("i")))
-                                                                                   (hygiene
-                                                                                     guile))
-                                                                                (append
-                                                                                  #{c\ 1845}#
-                                                                                  (list (cons '#(syntax-object
-                                                                                                 doloop
-                                                                                                 ((top)
-                                                                                                  #(ribcage
-                                                                                                    #(e1
-                                                                                                      e2)
-                                                                                                    #((top)
-                                                                                                      (top))
-                                                                                                    #("i"
-                                                                                                      "i"))
-                                                                                                  #(ribcage
-                                                                                                    #(step)
-                                                                                                    #((top))
-                                                                                                    #("i"))
-                                                                                                  #(ribcage
-                                                                                                    #(_
-                                                                                                      var
-                                                                                                      init
-                                                                                                      step
-                                                                                                      e0
-                                                                                                      e1
-                                                                                                      c)
-                                                                                                    #((top)
-                                                                                                      (top)
-                                                                                                      (top)
-                                                                                                      (top)
-                                                                                                      (top)
-                                                                                                      (top)
-                                                                                                      (top))
-                                                                                                    #("i"
-                                                                                                      "i"
-                                                                                                      "i"
-                                                                                                      "i"
-                                                                                                      "i"
-                                                                                                      "i"
-                                                                                                      "i"))
-                                                                                                  #(ribcage
-                                                                                                    ()
-                                                                                                    ()
-                                                                                                    ())
-                                                                                                  #(ribcage
-                                                                                                    #(orig-x)
-                                                                                                    #((top))
-                                                                                                    #("i")))
-                                                                                                 (hygiene
-                                                                                                   guile))
-                                                                                              #{step\ 1848}#)))))))
-                                                            #{tmp\ 1855}#)
-                                                     (syntax-violation
-                                                       #f
-                                                       "source expression failed to match any pattern"
-                                                       #{tmp\ 1849}#)))
-                                                 ($sc-dispatch
-                                                   #{tmp\ 1849}#
-                                                   '(any . each-any)))))
-                                            ($sc-dispatch
-                                              #{tmp\ 1849}#
-                                              '())))
-                                         #{e1\ 1844}#))
-                                      #{tmp\ 1847}#)
-                               (syntax-violation
-                                 #f
-                                 "source expression failed to match any pattern"
-                                 #{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\ 1836}#
-                                                 #{s\ 1865}#))
-                                             #{tmp\ 1866}#)))
-                                        ($sc-dispatch
-                                          #{tmp\ 1866}#
-                                          '(any)))))
-                                   ($sc-dispatch #{tmp\ 1866}# (quote ()))))
-                                #{s\ 1865}#))
-                             #{var\ 1840}#
-                             #{step\ 1842}#)))
-                     #{tmp\ 1838}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp\ 1837}#)))
-          ($sc-dispatch
-            #{tmp\ 1837}#
-            '(any #(each (any any . any))
-                  (any . each-any)
-                  .
-                  each-any))))
-       #{orig-x\ 1836}#))))
-
-(define quasiquote
-  (make-extended-syncase-macro
-    (module-ref (current-module) (quote quasiquote))
-    'macro
-    (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)
-                                                                              #(ribcage
-                                                                                #(dx)
-                                                                                #((top))
-                                                                                #("i"))
-                                                                              #(ribcage
-                                                                                #(dy)
-                                                                                #((top))
-                                                                                #("i"))
-                                                                              #(ribcage
-                                                                                #(x
-                                                                                  y)
-                                                                                #((top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(x
-                                                                                  y)
-                                                                                #((top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(quasicons
-                                                                                  quasiappend
-                                                                                  quasivector
-                                                                                  quasi)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i")))
-                                                                             (hygiene
-                                                                               guile))
-                                                                          (cons #{dx\ 1888}#
-                                                                                #{dy\ 1885}#)))
-                                                                  #{tmp\ 1887}#)
-                                                           ((lambda (#{_\ 1889}#)
-                                                              (if (null? #{dy\ 1885}#)
-                                                                (list '#(syntax-object
-                                                                         list
-                                                                         ((top)
-                                                                          #(ribcage
-                                                                            #(_)
-                                                                            #((top))
-                                                                            #("i"))
-                                                                          #(ribcage
-                                                                            #(dy)
-                                                                            #((top))
-                                                                            #("i"))
-                                                                          #(ribcage
-                                                                            #(x
-                                                                              y)
-                                                                            #((top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"))
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            #(x
-                                                                              y)
-                                                                            #((top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"))
-                                                                          #(ribcage
-                                                                            #(quasicons
-                                                                              quasiappend
-                                                                              quasivector
-                                                                              quasi)
-                                                                            #((top)
-                                                                              (top)
-                                                                              (top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"
-                                                                              "i"
-                                                                              "i")))
-                                                                         (hygiene
-                                                                           guile))
-                                                                      #{x\ 1881}#)
-                                                                (list '#(syntax-object
-                                                                         cons
-                                                                         ((top)
-                                                                          #(ribcage
-                                                                            #(_)
-                                                                            #((top))
-                                                                            #("i"))
-                                                                          #(ribcage
-                                                                            #(dy)
-                                                                            #((top))
-                                                                            #("i"))
-                                                                          #(ribcage
-                                                                            #(x
-                                                                              y)
-                                                                            #((top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"))
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            ()
-                                                                            ()
-                                                                            ())
-                                                                          #(ribcage
-                                                                            #(x
-                                                                              y)
-                                                                            #((top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"))
-                                                                          #(ribcage
-                                                                            #(quasicons
-                                                                              quasiappend
-                                                                              quasivector
-                                                                              quasi)
-                                                                            #((top)
-                                                                              (top)
-                                                                              (top)
-                                                                              (top))
-                                                                            #("i"
-                                                                              "i"
-                                                                              "i"
-                                                                              "i")))
-                                                                         (hygiene
-                                                                           guile))
-                                                                      #{x\ 1881}#
-                                                                      #{y\ 1882}#)))
-                                                            #{tmp\ 1886}#)))
-                                                       ($sc-dispatch
-                                                         #{tmp\ 1886}#
-                                                         '(#(free-id
-                                                             #(syntax-object
-                                                               quote
-                                                               ((top)
-                                                                #(ribcage
-                                                                  #(dy)
-                                                                  #((top))
-                                                                  #("i"))
-                                                                #(ribcage
-                                                                  #(x y)
-                                                                  #((top)
-                                                                    (top))
-                                                                  #("i" "i"))
-                                                                #(ribcage
-                                                                  ()
-                                                                  ()
-                                                                  ())
-                                                                #(ribcage
-                                                                  ()
-                                                                  ()
-                                                                  ())
-                                                                #(ribcage
-                                                                  #(x y)
-                                                                  #((top)
-                                                                    (top))
-                                                                  #("i" "i"))
-                                                                #(ribcage
-                                                                  #(quasicons
-                                                                    quasiappend
-                                                                    quasivector
-                                                                    quasi)
-                                                                  #((top)
-                                                                    (top)
-                                                                    (top)
-                                                                    (top))
-                                                                  #("i"
-                                                                    "i"
-                                                                    "i"
-                                                                    "i")))
-                                                               (hygiene
-                                                                 guile)))
-                                                           any))))
-                                                    #{x\ 1881}#))
-                                                 #{tmp\ 1884}#)
-                                          ((lambda (#{tmp\ 1890}#)
-                                             (if #{tmp\ 1890}#
-                                               (apply (lambda (#{stuff\ 1891}#)
-                                                        (cons '#(syntax-object
-                                                                 list
-                                                                 ((top)
-                                                                  #(ribcage
-                                                                    #(stuff)
-                                                                    #((top))
-                                                                    #("i"))
-                                                                  #(ribcage
-                                                                    #(x y)
-                                                                    #((top)
-                                                                      (top))
-                                                                    #("i" "i"))
-                                                                  #(ribcage
-                                                                    ()
-                                                                    ()
-                                                                    ())
-                                                                  #(ribcage
-                                                                    ()
-                                                                    ()
-                                                                    ())
-                                                                  #(ribcage
-                                                                    #(x y)
-                                                                    #((top)
-                                                                      (top))
-                                                                    #("i" "i"))
-                                                                  #(ribcage
-                                                                    #(quasicons
-                                                                      quasiappend
-                                                                      quasivector
-                                                                      quasi)
-                                                                    #((top)
-                                                                      (top)
-                                                                      (top)
-                                                                      (top))
-                                                                    #("i"
-                                                                      "i"
-                                                                      "i"
-                                                                      "i")))
-                                                                 (hygiene
-                                                                   guile))
-                                                              (cons #{x\ 1881}#
-                                                                    #{stuff\ 1891}#)))
-                                                      #{tmp\ 1890}#)
-                                               ((lambda (#{else\ 1892}#)
-                                                  (list '#(syntax-object
-                                                           cons
-                                                           ((top)
-                                                            #(ribcage
-                                                              #(else)
-                                                              #((top))
-                                                              #("i"))
-                                                            #(ribcage
-                                                              #(x y)
-                                                              #((top) (top))
-                                                              #("i" "i"))
-                                                            #(ribcage () () ())
-                                                            #(ribcage () () ())
-                                                            #(ribcage
-                                                              #(x y)
-                                                              #((top) (top))
-                                                              #("i" "i"))
-                                                            #(ribcage
-                                                              #(quasicons
-                                                                quasiappend
-                                                                quasivector
-                                                                quasi)
-                                                              #((top)
-                                                                (top)
-                                                                (top)
-                                                                (top))
-                                                              #("i"
-                                                                "i"
-                                                                "i"
-                                                                "i")))
-                                                           (hygiene guile))
-                                                        #{x\ 1881}#
-                                                        #{y\ 1882}#))
-                                                #{tmp\ 1883}#)))
-                                           ($sc-dispatch
-                                             #{tmp\ 1883}#
-                                             '(#(free-id
-                                                 #(syntax-object
-                                                   list
-                                                   ((top)
-                                                    #(ribcage
-                                                      #(x y)
-                                                      #((top) (top))
-                                                      #("i" "i"))
-                                                    #(ribcage () () ())
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(x y)
-                                                      #((top) (top))
-                                                      #("i" "i"))
-                                                    #(ribcage
-                                                      #(quasicons
-                                                        quasiappend
-                                                        quasivector
-                                                        quasi)
-                                                      #((top)
-                                                        (top)
-                                                        (top)
-                                                        (top))
-                                                      #("i" "i" "i" "i")))
-                                                   (hygiene guile)))
-                                               .
-                                               any)))))
-                                      ($sc-dispatch
-                                        #{tmp\ 1883}#
-                                        '(#(free-id
-                                            #(syntax-object
-                                              quote
-                                              ((top)
-                                               #(ribcage
-                                                 #(x y)
-                                                 #((top) (top))
-                                                 #("i" "i"))
-                                               #(ribcage () () ())
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(x y)
-                                                 #((top) (top))
-                                                 #("i" "i"))
-                                               #(ribcage
-                                                 #(quasicons
-                                                   quasiappend
-                                                   quasivector
-                                                   quasi)
-                                                 #((top) (top) (top) (top))
-                                                 #("i" "i" "i" "i")))
-                                              (hygiene guile)))
-                                          any))))
-                                   #{y\ 1882}#))
-                                #{tmp\ 1880}#)
-                         (syntax-violation
-                           #f
-                           "source expression failed to match any pattern"
-                           #{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)
-                                                       #(ribcage
-                                                         #(_)
-                                                         #((top))
-                                                         #("i"))
-                                                       #(ribcage
-                                                         #(x y)
-                                                         #((top) (top))
-                                                         #("i" "i"))
-                                                       #(ribcage () () ())
-                                                       #(ribcage () () ())
-                                                       #(ribcage
-                                                         #(x y)
-                                                         #((top) (top))
-                                                         #("i" "i"))
-                                                       #(ribcage
-                                                         #(quasicons
-                                                           quasiappend
-                                                           quasivector
-                                                           quasi)
-                                                         #((top)
-                                                           (top)
-                                                           (top)
-                                                           (top))
-                                                         #("i" "i" "i" "i")))
-                                                      (hygiene guile))
-                                                   #{x\ 1897}#
-                                                   #{y\ 1898}#))
-                                           #{tmp\ 1899}#)))
-                                      ($sc-dispatch
-                                        #{tmp\ 1899}#
-                                        '(#(free-id
-                                            #(syntax-object
-                                              quote
-                                              ((top)
-                                               #(ribcage
-                                                 #(x y)
-                                                 #((top) (top))
-                                                 #("i" "i"))
-                                               #(ribcage () () ())
-                                               #(ribcage () () ())
-                                               #(ribcage
-                                                 #(x y)
-                                                 #((top) (top))
-                                                 #("i" "i"))
-                                               #(ribcage
-                                                 #(quasicons
-                                                   quasiappend
-                                                   quasivector
-                                                   quasi)
-                                                 #((top) (top) (top) (top))
-                                                 #("i" "i" "i" "i")))
-                                              (hygiene guile)))
-                                          ()))))
-                                   #{y\ 1898}#))
-                                #{tmp\ 1896}#)
-                         (syntax-violation
-                           #f
-                           "source expression failed to match any pattern"
-                           #{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)
-                                                  #(ribcage
-                                                    #(x)
-                                                    #((top))
-                                                    #("i"))
-                                                  #(ribcage
-                                                    #(x)
-                                                    #((top))
-                                                    #("i"))
-                                                  #(ribcage () () ())
-                                                  #(ribcage () () ())
-                                                  #(ribcage
-                                                    #(x)
-                                                    #((top))
-                                                    #("i"))
-                                                  #(ribcage
-                                                    #(quasicons
-                                                      quasiappend
-                                                      quasivector
-                                                      quasi)
-                                                    #((top) (top) (top) (top))
-                                                    #("i" "i" "i" "i")))
-                                                 (hygiene guile))
-                                              (list->vector #{x\ 1907}#)))
-                                      #{tmp\ 1906}#)
-                               ((lambda (#{tmp\ 1909}#)
-                                  (if #{tmp\ 1909}#
-                                    (apply (lambda (#{x\ 1910}#)
-                                             (cons '#(syntax-object
-                                                      vector
-                                                      ((top)
-                                                       #(ribcage
-                                                         #(x)
-                                                         #((top))
-                                                         #("i"))
-                                                       #(ribcage
-                                                         #(x)
-                                                         #((top))
-                                                         #("i"))
-                                                       #(ribcage () () ())
-                                                       #(ribcage () () ())
-                                                       #(ribcage
-                                                         #(x)
-                                                         #((top))
-                                                         #("i"))
-                                                       #(ribcage
-                                                         #(quasicons
-                                                           quasiappend
-                                                           quasivector
-                                                           quasi)
-                                                         #((top)
-                                                           (top)
-                                                           (top)
-                                                           (top))
-                                                         #("i" "i" "i" "i")))
-                                                      (hygiene guile))
-                                                   #{x\ 1910}#))
-                                           #{tmp\ 1909}#)
-                                    ((lambda (#{_\ 1912}#)
-                                       (list '#(syntax-object
-                                                list->vector
-                                                ((top)
-                                                 #(ribcage
-                                                   #(_)
-                                                   #((top))
-                                                   #("i"))
-                                                 #(ribcage
-                                                   #(x)
-                                                   #((top))
-                                                   #("i"))
-                                                 #(ribcage () () ())
-                                                 #(ribcage () () ())
-                                                 #(ribcage
-                                                   #(x)
-                                                   #((top))
-                                                   #("i"))
-                                                 #(ribcage
-                                                   #(quasicons
-                                                     quasiappend
-                                                     quasivector
-                                                     quasi)
-                                                   #((top) (top) (top) (top))
-                                                   #("i" "i" "i" "i")))
-                                                (hygiene guile))
-                                             #{x\ 1904}#))
-                                     #{tmp\ 1905}#)))
-                                ($sc-dispatch
-                                  #{tmp\ 1905}#
-                                  '(#(free-id
-                                      #(syntax-object
-                                        list
-                                        ((top)
-                                         #(ribcage #(x) #((top)) #("i"))
-                                         #(ribcage () () ())
-                                         #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i"))
-                                         #(ribcage
-                                           #(quasicons
-                                             quasiappend
-                                             quasivector
-                                             quasi)
-                                           #((top) (top) (top) (top))
-                                           #("i" "i" "i" "i")))
-                                        (hygiene guile)))
-                                    .
-                                    each-any)))))
-                           ($sc-dispatch
-                             #{tmp\ 1905}#
-                             '(#(free-id
-                                 #(syntax-object
-                                   quote
-                                   ((top)
-                                    #(ribcage #(x) #((top)) #("i"))
-                                    #(ribcage () () ())
-                                    #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i"))
-                                    #(ribcage
-                                      #(quasicons
-                                        quasiappend
-                                        quasivector
-                                        quasi)
-                                      #((top) (top) (top) (top))
-                                      #("i" "i" "i" "i")))
-                                   (hygiene guile)))
-                               each-any))))
-                        #{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)
-                                           #(ribcage #(p) #((top)) #("i"))
-                                           #(ribcage () () ())
-                                           #(ribcage
-                                             #(p lev)
-                                             #((top) (top))
-                                             #("i" "i"))
-                                           #(ribcage
-                                             #(quasicons
-                                               quasiappend
-                                               quasivector
-                                               quasi)
-                                             #((top) (top) (top) (top))
-                                             #("i" "i" "i" "i")))
-                                          (hygiene guile))
-                                        #(syntax-object
-                                          unquote
-                                          ((top)
-                                           #(ribcage #(p) #((top)) #("i"))
-                                           #(ribcage () () ())
-                                           #(ribcage
-                                             #(p lev)
-                                             #((top) (top))
-                                             #("i" "i"))
-                                           #(ribcage
-                                             #(quasicons
-                                               quasiappend
-                                               quasivector
-                                               quasi)
-                                             #((top) (top) (top) (top))
-                                             #("i" "i" "i" "i")))
-                                          (hygiene guile)))
-                                      (#{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\ 1920}#)
-                                       (syntax-violation
-                                         'unquote
-                                         "unquote takes exactly one argument"
-                                         #{p\ 1913}#
-                                         (cons '#(syntax-object
-                                                  unquote
-                                                  ((top)
-                                                   #(ribcage
-                                                     #(args)
-                                                     #((top))
-                                                     #("i"))
-                                                   #(ribcage () () ())
-                                                   #(ribcage
-                                                     #(p lev)
-                                                     #((top) (top))
-                                                     #("i" "i"))
-                                                   #(ribcage
-                                                     #(quasicons
-                                                       quasiappend
-                                                       quasivector
-                                                       quasi)
-                                                     #((top) (top) (top) (top))
-                                                     #("i" "i" "i" "i")))
-                                                  (hygiene guile))
-                                               #{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)
-                                                       #(ribcage
-                                                         #(p q)
-                                                         #((top) (top))
-                                                         #("i" "i"))
-                                                       #(ribcage () () ())
-                                                       #(ribcage
-                                                         #(p lev)
-                                                         #((top) (top))
-                                                         #("i" "i"))
-                                                       #(ribcage
-                                                         #(quasicons
-                                                           quasiappend
-                                                           quasivector
-                                                           quasi)
-                                                         #((top)
-                                                           (top)
-                                                           (top)
-                                                           (top))
-                                                         #("i" "i" "i" "i")))
-                                                      (hygiene guile))
-                                                    #(syntax-object
-                                                      unquote-splicing
-                                                      ((top)
-                                                       #(ribcage
-                                                         #(p q)
-                                                         #((top) (top))
-                                                         #("i" "i"))
-                                                       #(ribcage () () ())
-                                                       #(ribcage
-                                                         #(p lev)
-                                                         #((top) (top))
-                                                         #("i" "i"))
-                                                       #(ribcage
-                                                         #(quasicons
-                                                           quasiappend
-                                                           quasivector
-                                                           quasi)
-                                                         #((top)
-                                                           (top)
-                                                           (top)
-                                                           (top))
-                                                         #("i" "i" "i" "i")))
-                                                      (hygiene guile)))
-                                                  (#{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\ 1927}#
-                                                        #{q\ 1928}#)
-                                                 (syntax-violation
-                                                   'unquote-splicing
-                                                   "unquote-splicing takes exactly one argument"
-                                                   #{p\ 1913}#
-                                                   (cons '#(syntax-object
-                                                            unquote-splicing
-                                                            ((top)
-                                                             #(ribcage
-                                                               #(args q)
-                                                               #((top) (top))
-                                                               #("i" "i"))
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               #(p lev)
-                                                               #((top) (top))
-                                                               #("i" "i"))
-                                                             #(ribcage
-                                                               #(quasicons
-                                                                 quasiappend
-                                                                 quasivector
-                                                                 quasi)
-                                                               #((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                               #("i"
-                                                                 "i"
-                                                                 "i"
-                                                                 "i")))
-                                                            (hygiene guile))
-                                                         #{args\ 1927}#)))
-                                               #{tmp\ 1924}#)
-                                        ((lambda (#{tmp\ 1929}#)
-                                           (if #{tmp\ 1929}#
-                                             (apply (lambda (#{p\ 1930}#)
-                                                      (#{quasicons\ 1873}#
-                                                        '(#(syntax-object
-                                                            quote
-                                                            ((top)
-                                                             #(ribcage
-                                                               #(p)
-                                                               #((top))
-                                                               #("i"))
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               #(p lev)
-                                                               #((top) (top))
-                                                               #("i" "i"))
-                                                             #(ribcage
-                                                               #(quasicons
-                                                                 quasiappend
-                                                                 quasivector
-                                                                 quasi)
-                                                               #((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                               #("i"
-                                                                 "i"
-                                                                 "i"
-                                                                 "i")))
-                                                            (hygiene guile))
-                                                          #(syntax-object
-                                                            quasiquote
-                                                            ((top)
-                                                             #(ribcage
-                                                               #(p)
-                                                               #((top))
-                                                               #("i"))
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               #(p lev)
-                                                               #((top) (top))
-                                                               #("i" "i"))
-                                                             #(ribcage
-                                                               #(quasicons
-                                                                 quasiappend
-                                                                 quasivector
-                                                                 quasi)
-                                                               #((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                               #("i"
-                                                                 "i"
-                                                                 "i"
-                                                                 "i")))
-                                                            (hygiene guile)))
-                                                        (#{quasi\ 1876}#
-                                                          (list #{p\ 1930}#)
-                                                          (+ #{lev\ 1914}#
-                                                             1))))
-                                                    #{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)
-                                                                    #(ribcage
-                                                                      #(p)
-                                                                      #((top))
-                                                                      #("i"))
-                                                                    #(ribcage
-                                                                      ()
-                                                                      ()
-                                                                      ())
-                                                                    #(ribcage
-                                                                      #(p lev)
-                                                                      #((top)
-                                                                        (top))
-                                                                      #("i"
-                                                                        "i"))
-                                                                    #(ribcage
-                                                                      #(quasicons
-                                                                        quasiappend
-                                                                        quasivector
-                                                                        quasi)
-                                                                      #((top)
-                                                                        (top)
-                                                                        (top)
-                                                                        (top))
-                                                                      #("i"
-                                                                        "i"
-                                                                        "i"
-                                                                        "i")))
-                                                                   (hygiene
-                                                                     guile))
-                                                                #{p\ 1937}#))
-                                                        #{tmp\ 1915}#)))
-                                                   ($sc-dispatch
-                                                     #{tmp\ 1915}#
-                                                     '#(vector each-any)))))
-                                              ($sc-dispatch
-                                                #{tmp\ 1915}#
-                                                '(any . any)))))
-                                         ($sc-dispatch
-                                           #{tmp\ 1915}#
-                                           '(#(free-id
-                                               #(syntax-object
-                                                 quasiquote
-                                                 ((top)
-                                                  #(ribcage () () ())
-                                                  #(ribcage
-                                                    #(p lev)
-                                                    #((top) (top))
-                                                    #("i" "i"))
-                                                  #(ribcage
-                                                    #(quasicons
-                                                      quasiappend
-                                                      quasivector
-                                                      quasi)
-                                                    #((top) (top) (top) (top))
-                                                    #("i" "i" "i" "i")))
-                                                 (hygiene guile)))
-                                             any)))))
-                                    ($sc-dispatch
-                                      #{tmp\ 1915}#
-                                      '((#(free-id
-                                           #(syntax-object
-                                             unquote-splicing
-                                             ((top)
-                                              #(ribcage () () ())
-                                              #(ribcage
-                                                #(p lev)
-                                                #((top) (top))
-                                                #("i" "i"))
-                                              #(ribcage
-                                                #(quasicons
-                                                  quasiappend
-                                                  quasivector
-                                                  quasi)
-                                                #((top) (top) (top) (top))
-                                                #("i" "i" "i" "i")))
-                                             (hygiene guile)))
-                                         .
-                                         any)
-                                        .
-                                        any)))))
-                               ($sc-dispatch
-                                 #{tmp\ 1915}#
-                                 '((#(free-id
-                                      #(syntax-object
-                                        unquote-splicing
-                                        ((top)
-                                         #(ribcage () () ())
-                                         #(ribcage
-                                           #(p lev)
-                                           #((top) (top))
-                                           #("i" "i"))
-                                         #(ribcage
-                                           #(quasicons
-                                             quasiappend
-                                             quasivector
-                                             quasi)
-                                           #((top) (top) (top) (top))
-                                           #("i" "i" "i" "i")))
-                                        (hygiene guile)))
-                                    any)
-                                   .
-                                   any)))))
-                          ($sc-dispatch
-                            #{tmp\ 1915}#
-                            '(#(free-id
-                                #(syntax-object
-                                  unquote
-                                  ((top)
-                                   #(ribcage () () ())
-                                   #(ribcage
-                                     #(p lev)
-                                     #((top) (top))
-                                     #("i" "i"))
-                                   #(ribcage
-                                     #(quasicons quasiappend quasivector quasi)
-                                     #((top) (top) (top) (top))
-                                     #("i" "i" "i" "i")))
-                                  (hygiene guile)))
-                              .
-                              any)))))
-                     ($sc-dispatch
-                       #{tmp\ 1915}#
-                       '(#(free-id
-                           #(syntax-object
-                             unquote
-                             ((top)
-                              #(ribcage () () ())
-                              #(ribcage #(p lev) #((top) (top)) #("i" "i"))
-                              #(ribcage
-                                #(quasicons quasiappend quasivector quasi)
-                                #((top) (top) (top) (top))
-                                #("i" "i" "i" "i")))
-                             (hygiene guile)))
-                         any))))
-                  #{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\ 1939}#)))
-            ($sc-dispatch #{tmp\ 1939}# (quote (any any)))))
-         #{x\ 1938}#)))))
-
-(define include
-  (make-syncase-macro
-    'macro
-    (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\ 1947}#)
-                                      '())
-                                    (cons (datum->syntax
-                                            #{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)
-                                                      #(ribcage
-                                                        #(exp)
-                                                        #((top))
-                                                        #("i"))
-                                                      #(ribcage () () ())
-                                                      #(ribcage () () ())
-                                                      #(ribcage
-                                                        #(fn)
-                                                        #((top))
-                                                        #("i"))
-                                                      #(ribcage
-                                                        #(k filename)
-                                                        #((top) (top))
-                                                        #("i" "i"))
-                                                      #(ribcage
-                                                        (read-file)
-                                                        ((top))
-                                                        ("i"))
-                                                      #(ribcage
-                                                        #(x)
-                                                        #((top))
-                                                        #("i")))
-                                                     (hygiene guile))
-                                                  #{exp\ 1957}#))
-                                          #{tmp\ 1956}#)
-                                   (syntax-violation
-                                     #f
-                                     "source expression failed to match any pattern"
-                                     #{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\ 1950}#)))
-            ($sc-dispatch #{tmp\ 1950}# (quote (any any)))))
-         #{x\ 1943}#)))))
-
-(define unquote
-  (make-syncase-macro
-    'macro
-    (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\ 1959}#))
-                     #{tmp\ 1961}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp\ 1960}#)))
-          ($sc-dispatch #{tmp\ 1960}# (quote (any any)))))
-       #{x\ 1959}#))))
-
-(define unquote-splicing
-  (make-syncase-macro
-    'macro
-    (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\ 1964}#))
-                     #{tmp\ 1966}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{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\ 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)
-                                       #(ribcage #(body) #((top)) #("i"))
-                                       #(ribcage
-                                         #(_ e m1 m2)
-                                         #((top) (top) (top) (top))
-                                         #("i" "i" "i" "i"))
-                                       #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i")))
-                                      (hygiene guile))
-                                   (list (list '#(syntax-object
-                                                  t
-                                                  ((top)
-                                                   #(ribcage
-                                                     #(body)
-                                                     #((top))
-                                                     #("i"))
-                                                   #(ribcage
-                                                     #(_ e m1 m2)
-                                                     #((top) (top) (top) (top))
-                                                     #("i" "i" "i" "i"))
-                                                   #(ribcage () () ())
-                                                   #(ribcage
-                                                     #(x)
-                                                     #((top))
-                                                     #("i")))
-                                                  (hygiene guile))
-                                               #{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)
-                                                                  #(ribcage
-                                                                    #(e1 e2)
-                                                                    #((top)
-                                                                      (top))
-                                                                    #("i" "i"))
-                                                                  #(ribcage
-                                                                    ()
-                                                                    ()
-                                                                    ())
-                                                                  #(ribcage
-                                                                    #(f
-                                                                      clause
-                                                                      clauses)
-                                                                    #((top)
-                                                                      (top)
-                                                                      (top))
-                                                                    #("i"
-                                                                      "i"
-                                                                      "i"))
-                                                                  #(ribcage
-                                                                    #(_
-                                                                      e
-                                                                      m1
-                                                                      m2)
-                                                                    #((top)
-                                                                      (top)
-                                                                      (top)
-                                                                      (top))
-                                                                    #("i"
-                                                                      "i"
-                                                                      "i"
-                                                                      "i"))
-                                                                  #(ribcage
-                                                                    ()
-                                                                    ()
-                                                                    ())
-                                                                  #(ribcage
-                                                                    #(x)
-                                                                    #((top))
-                                                                    #("i")))
-                                                                 (hygiene
-                                                                   guile))
-                                                              (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)
-                                                                       #(ribcage
-                                                                         #(k
-                                                                           e1
-                                                                           e2)
-                                                                         #((top)
-                                                                           (top)
-                                                                           (top))
-                                                                         #("i"
-                                                                           "i"
-                                                                           "i"))
-                                                                       #(ribcage
-                                                                         ()
-                                                                         ()
-                                                                         ())
-                                                                       #(ribcage
-                                                                         #(f
-                                                                           clause
-                                                                           clauses)
-                                                                         #((top)
-                                                                           (top)
-                                                                           (top))
-                                                                         #("i"
-                                                                           "i"
-                                                                           "i"))
-                                                                       #(ribcage
-                                                                         #(_
-                                                                           e
-                                                                           m1
-                                                                           m2)
-                                                                         #((top)
-                                                                           (top)
-                                                                           (top)
-                                                                           (top))
-                                                                         #("i"
-                                                                           "i"
-                                                                           "i"
-                                                                           "i"))
-                                                                       #(ribcage
-                                                                         ()
-                                                                         ()
-                                                                         ())
-                                                                       #(ribcage
-                                                                         #(x)
-                                                                         #((top))
-                                                                         #("i")))
-                                                                      (hygiene
-                                                                        guile))
-                                                                   (list '#(syntax-object
-                                                                            memv
-                                                                            ((top)
-                                                                             #(ribcage
-                                                                               #(k
-                                                                                 e1
-                                                                                 e2)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(f
-                                                                                 clause
-                                                                                 clauses)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               #(_
-                                                                                 e
-                                                                                 m1
-                                                                                 m2)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(x)
-                                                                               #((top))
-                                                                               #("i")))
-                                                                            (hygiene
-                                                                              guile))
-                                                                         '#(syntax-object
-                                                                            t
-                                                                            ((top)
-                                                                             #(ribcage
-                                                                               #(k
-                                                                                 e1
-                                                                                 e2)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(f
-                                                                                 clause
-                                                                                 clauses)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               #(_
-                                                                                 e
-                                                                                 m1
-                                                                                 m2)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(x)
-                                                                               #((top))
-                                                                               #("i")))
-                                                                            (hygiene
-                                                                              guile))
-                                                                         (list '#(syntax-object
-                                                                                  quote
-                                                                                  ((top)
-                                                                                   #(ribcage
-                                                                                     #(k
-                                                                                       e1
-                                                                                       e2)
-                                                                                     #((top)
-                                                                                       (top)
-                                                                                       (top))
-                                                                                     #("i"
-                                                                                       "i"
-                                                                                       "i"))
-                                                                                   #(ribcage
-                                                                                     ()
-                                                                                     ()
-                                                                                     ())
-                                                                                   #(ribcage
-                                                                                     #(f
-                                                                                       clause
-                                                                                       clauses)
-                                                                                     #((top)
-                                                                                       (top)
-                                                                                       (top))
-                                                                                     #("i"
-                                                                                       "i"
-                                                                                       "i"))
-                                                                                   #(ribcage
-                                                                                     #(_
-                                                                                       e
-                                                                                       m1
-                                                                                       m2)
-                                                                                     #((top)
-                                                                                       (top)
-                                                                                       (top)
-                                                                                       (top))
-                                                                                     #("i"
-                                                                                       "i"
-                                                                                       "i"
-                                                                                       "i"))
-                                                                                   #(ribcage
-                                                                                     ()
-                                                                                     ()
-                                                                                     ())
-                                                                                   #(ribcage
-                                                                                     #(x)
-                                                                                     #((top))
-                                                                                     #("i")))
-                                                                                  (hygiene
-                                                                                    guile))
-                                                                               #{k\ 1988}#))
-                                                                   (cons '#(syntax-object
-                                                                            begin
-                                                                            ((top)
-                                                                             #(ribcage
-                                                                               #(k
-                                                                                 e1
-                                                                                 e2)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(f
-                                                                                 clause
-                                                                                 clauses)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               #(_
-                                                                                 e
-                                                                                 m1
-                                                                                 m2)
-                                                                               #((top)
-                                                                                 (top)
-                                                                                 (top)
-                                                                                 (top))
-                                                                               #("i"
-                                                                                 "i"
-                                                                                 "i"
-                                                                                 "i"))
-                                                                             #(ribcage
-                                                                               ()
-                                                                               ()
-                                                                               ())
-                                                                             #(ribcage
-                                                                               #(x)
-                                                                               #((top))
-                                                                               #("i")))
-                                                                            (hygiene
-                                                                              guile))
-                                                                         (cons #{e1\ 1989}#
-                                                                               #{e2\ 1990}#))))
-                                                           #{tmp\ 1987}#)
-                                                    ((lambda (#{_\ 1993}#)
-                                                       (syntax-violation
-                                                         'case
-                                                         "bad clause"
-                                                         #{x\ 1969}#
-                                                         #{clause\ 1979}#))
-                                                     #{tmp\ 1982}#)))
-                                                ($sc-dispatch
-                                                  #{tmp\ 1982}#
-                                                  '(each-any
-                                                     any
-                                                     .
-                                                     each-any)))))
-                                           ($sc-dispatch
-                                             #{tmp\ 1982}#
-                                             '(#(free-id
-                                                 #(syntax-object
-                                                   else
-                                                   ((top)
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(f clause clauses)
-                                                      #((top) (top) (top))
-                                                      #("i" "i" "i"))
-                                                    #(ribcage
-                                                      #(_ e m1 m2)
-                                                      #((top)
-                                                        (top)
-                                                        (top)
-                                                        (top))
-                                                      #("i" "i" "i" "i"))
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(x)
-                                                      #((top))
-                                                      #("i")))
-                                                   (hygiene guile)))
-                                               any
-                                               .
-                                               each-any))))
-                                        #{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)
-                                                                        #(ribcage
-                                                                          #(k
-                                                                            e1
-                                                                            e2)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          #(rest)
-                                                                          #((top))
-                                                                          #("i"))
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(f
-                                                                            clause
-                                                                            clauses)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          #(_
-                                                                            e
-                                                                            m1
-                                                                            m2)
-                                                                          #((top)
-                                                                            (top)
-                                                                            (top)
-                                                                            (top))
-                                                                          #("i"
-                                                                            "i"
-                                                                            "i"
-                                                                            "i"))
-                                                                        #(ribcage
-                                                                          ()
-                                                                          ()
-                                                                          ())
-                                                                        #(ribcage
-                                                                          #(x)
-                                                                          #((top))
-                                                                          #("i")))
-                                                                       (hygiene
-                                                                         guile))
-                                                                    (list '#(syntax-object
-                                                                             memv
-                                                                             ((top)
-                                                                              #(ribcage
-                                                                                #(k
-                                                                                  e1
-                                                                                  e2)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(rest)
-                                                                                #((top))
-                                                                                #("i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(f
-                                                                                  clause
-                                                                                  clauses)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(_
-                                                                                  e
-                                                                                  m1
-                                                                                  m2)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(x)
-                                                                                #((top))
-                                                                                #("i")))
-                                                                             (hygiene
-                                                                               guile))
-                                                                          '#(syntax-object
-                                                                             t
-                                                                             ((top)
-                                                                              #(ribcage
-                                                                                #(k
-                                                                                  e1
-                                                                                  e2)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(rest)
-                                                                                #((top))
-                                                                                #("i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(f
-                                                                                  clause
-                                                                                  clauses)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(_
-                                                                                  e
-                                                                                  m1
-                                                                                  m2)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(x)
-                                                                                #((top))
-                                                                                #("i")))
-                                                                             (hygiene
-                                                                               guile))
-                                                                          (list '#(syntax-object
-                                                                                   quote
-                                                                                   ((top)
-                                                                                    #(ribcage
-                                                                                      #(k
-                                                                                        e1
-                                                                                        e2)
-                                                                                      #((top)
-                                                                                        (top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      #(rest)
-                                                                                      #((top))
-                                                                                      #("i"))
-                                                                                    #(ribcage
-                                                                                      ()
-                                                                                      ()
-                                                                                      ())
-                                                                                    #(ribcage
-                                                                                      #(f
-                                                                                        clause
-                                                                                        clauses)
-                                                                                      #((top)
-                                                                                        (top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      #(_
-                                                                                        e
-                                                                                        m1
-                                                                                        m2)
-                                                                                      #((top)
-                                                                                        (top)
-                                                                                        (top)
-                                                                                        (top))
-                                                                                      #("i"
-                                                                                        "i"
-                                                                                        "i"
-                                                                                        "i"))
-                                                                                    #(ribcage
-                                                                                      ()
-                                                                                      ()
-                                                                                      ())
-                                                                                    #(ribcage
-                                                                                      #(x)
-                                                                                      #((top))
-                                                                                      #("i")))
-                                                                                   (hygiene
-                                                                                     guile))
-                                                                                #{k\ 1998}#))
-                                                                    (cons '#(syntax-object
-                                                                             begin
-                                                                             ((top)
-                                                                              #(ribcage
-                                                                                #(k
-                                                                                  e1
-                                                                                  e2)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(rest)
-                                                                                #((top))
-                                                                                #("i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(f
-                                                                                  clause
-                                                                                  clauses)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                #(_
-                                                                                  e
-                                                                                  m1
-                                                                                  m2)
-                                                                                #((top)
-                                                                                  (top)
-                                                                                  (top)
-                                                                                  (top))
-                                                                                #("i"
-                                                                                  "i"
-                                                                                  "i"
-                                                                                  "i"))
-                                                                              #(ribcage
-                                                                                ()
-                                                                                ()
-                                                                                ())
-                                                                              #(ribcage
-                                                                                #(x)
-                                                                                #((top))
-                                                                                #("i")))
-                                                                             (hygiene
-                                                                               guile))
-                                                                          (cons #{e1\ 1999}#
-                                                                                #{e2\ 2000}#))
-                                                                    #{rest\ 1995}#))
-                                                            #{tmp\ 1997}#)
-                                                     ((lambda (#{_\ 2003}#)
-                                                        (syntax-violation
-                                                          'case
-                                                          "bad clause"
-                                                          #{x\ 1969}#
-                                                          #{clause\ 1979}#))
-                                                      #{tmp\ 1996}#)))
-                                                 ($sc-dispatch
-                                                   #{tmp\ 1996}#
-                                                   '(each-any
-                                                      any
-                                                      .
-                                                      each-any))))
-                                              #{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\ 1970}#)))
-          ($sc-dispatch
-            #{tmp\ 1970}#
-            '(any any any . each-any))))
-       #{x\ 1969}#))))
-
-(define identifier-syntax
-  (make-syncase-macro
-    'macro
-    (lambda (#{x\ 2004}#)
-      ((lambda (#{tmp\ 2005}#)
-         ((lambda (#{tmp\ 2006}#)
-            (if #{tmp\ 2006}#
-              (apply (lambda (#{_\ 2007}# #{e\ 2008}#)
-                       (list '#(syntax-object
-                                lambda
-                                ((top)
-                                 #(ribcage #(_ e) #((top) (top)) #("i" "i"))
-                                 #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i")))
-                                (hygiene guile))
-                             '(#(syntax-object
-                                 x
-                                 ((top)
-                                  #(ribcage #(_ e) #((top) (top)) #("i" "i"))
-                                  #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i")))
-                                 (hygiene guile)))
-                             (list '#(syntax-object
-                                      syntax-case
-                                      ((top)
-                                       #(ribcage
-                                         #(_ e)
-                                         #((top) (top))
-                                         #("i" "i"))
-                                       #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i")))
-                                      (hygiene guile))
-                                   '#(syntax-object
-                                      x
-                                      ((top)
-                                       #(ribcage
-                                         #(_ e)
-                                         #((top) (top))
-                                         #("i" "i"))
-                                       #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i")))
-                                      (hygiene guile))
-                                   '()
-                                   (list '#(syntax-object
-                                            id
-                                            ((top)
-                                             #(ribcage
-                                               #(_ e)
-                                               #((top) (top))
-                                               #("i" "i"))
-                                             #(ribcage () () ())
-                                             #(ribcage #(x) #((top)) #("i")))
-                                            (hygiene guile))
-                                         '(#(syntax-object
-                                             identifier?
-                                             ((top)
-                                              #(ribcage
-                                                #(_ e)
-                                                #((top) (top))
-                                                #("i" "i"))
-                                              #(ribcage () () ())
-                                              #(ribcage #(x) #((top)) #("i")))
-                                             (hygiene guile))
-                                           (#(syntax-object
-                                              syntax
-                                              ((top)
-                                               #(ribcage
-                                                 #(_ e)
-                                                 #((top) (top))
-                                                 #("i" "i"))
-                                               #(ribcage () () ())
-                                               #(ribcage #(x) #((top)) #("i")))
-                                              (hygiene guile))
-                                            #(syntax-object
-                                              id
-                                              ((top)
-                                               #(ribcage
-                                                 #(_ e)
-                                                 #((top) (top))
-                                                 #("i" "i"))
-                                               #(ribcage () () ())
-                                               #(ribcage #(x) #((top)) #("i")))
-                                              (hygiene guile))))
-                                         (list '#(syntax-object
-                                                  syntax
-                                                  ((top)
-                                                   #(ribcage
-                                                     #(_ e)
-                                                     #((top) (top))
-                                                     #("i" "i"))
-                                                   #(ribcage () () ())
-                                                   #(ribcage
-                                                     #(x)
-                                                     #((top))
-                                                     #("i")))
-                                                  (hygiene guile))
-                                               #{e\ 2008}#))
-                                   (list (cons #{_\ 2007}#
-                                               '(#(syntax-object
-                                                   x
-                                                   ((top)
-                                                    #(ribcage
-                                                      #(_ e)
-                                                      #((top) (top))
-                                                      #("i" "i"))
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(x)
-                                                      #((top))
-                                                      #("i")))
-                                                   (hygiene guile))
-                                                 #(syntax-object
-                                                   ...
-                                                   ((top)
-                                                    #(ribcage
-                                                      #(_ e)
-                                                      #((top) (top))
-                                                      #("i" "i"))
-                                                    #(ribcage () () ())
-                                                    #(ribcage
-                                                      #(x)
-                                                      #((top))
-                                                      #("i")))
-                                                   (hygiene guile))))
-                                         (list '#(syntax-object
-                                                  syntax
-                                                  ((top)
-                                                   #(ribcage
-                                                     #(_ e)
-                                                     #((top) (top))
-                                                     #("i" "i"))
-                                                   #(ribcage () () ())
-                                                   #(ribcage
-                                                     #(x)
-                                                     #((top))
-                                                     #("i")))
-                                                  (hygiene guile))
-                                               (cons #{e\ 2008}#
-                                                     '(#(syntax-object
-                                                         x
-                                                         ((top)
-                                                          #(ribcage
-                                                            #(_ e)
-                                                            #((top) (top))
-                                                            #("i" "i"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(x)
-                                                            #((top))
-                                                            #("i")))
-                                                         (hygiene guile))
-                                                       #(syntax-object
-                                                         ...
-                                                         ((top)
-                                                          #(ribcage
-                                                            #(_ e)
-                                                            #((top) (top))
-                                                            #("i" "i"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(x)
-                                                            #((top))
-                                                            #("i")))
-                                                         (hygiene
-                                                           guile)))))))))
-                     #{tmp\ 2006}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp\ 2005}#)))
-          ($sc-dispatch #{tmp\ 2005}# (quote (any any)))))
-       #{x\ 2004}#))))
-
-(define define*
-  (make-syncase-macro
-    'macro
-    (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)
-                                 #(ribcage
-                                   #(dummy id args b0 b1)
-                                   #(("m" top) (top) (top) (top) (top))
-                                   #("i" "i" "i" "i" "i"))
-                                 #(ribcage () () ())
-                                 #(ribcage #(x) #(("m" top)) #("i")))
-                                (hygiene guile))
-                             #{id\ 2013}#
-                             (cons '#(syntax-object
-                                      lambda*
-                                      ((top)
-                                       #(ribcage
-                                         #(dummy id args b0 b1)
-                                         #(("m" top) (top) (top) (top) (top))
-                                         #("i" "i" "i" "i" "i"))
-                                       #(ribcage () () ())
-                                       #(ribcage #(x) #(("m" top)) #("i")))
-                                      (hygiene guile))
-                                   (cons #{args\ 2014}#
-                                         (cons #{b0\ 2015}# #{b1\ 2016}#)))))
-                     #{tmp\ 2011}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{tmp\ 2010}#)))
-          ($sc-dispatch
-            #{tmp\ 2010}#
-            '(any (any . any) any . each-any))))
-       #{x\ 2009}#))))
-
+(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
+(if #f #f)
+
+(letrec*
+  ((make-void
+     (lambda (src) (make-struct (vector-ref %expanded-vtables 0) 0 src)))
+   (make-const
+     (lambda (src exp)
+       (make-struct (vector-ref %expanded-vtables 1) 0 src exp)))
+   (make-primitive-ref
+     (lambda (src name)
+       (make-struct (vector-ref %expanded-vtables 2) 0 src name)))
+   (make-lexical-ref
+     (lambda (src name gensym)
+       (make-struct (vector-ref %expanded-vtables 3) 0 src name gensym)))
+   (make-lexical-set
+     (lambda (src name gensym exp)
+       (make-struct (vector-ref %expanded-vtables 4) 0 src name gensym exp)))
+   (make-module-ref
+     (lambda (src mod name public?)
+       (make-struct (vector-ref %expanded-vtables 5) 0 src mod name public?)))
+   (make-module-set
+     (lambda (src mod name public? exp)
+       (make-struct
+         (vector-ref %expanded-vtables 6)
+         0
+         src
+         mod
+         name
+         public?
+         exp)))
+   (make-toplevel-ref
+     (lambda (src name)
+       (make-struct (vector-ref %expanded-vtables 7) 0 src name)))
+   (make-toplevel-set
+     (lambda (src name exp)
+       (make-struct (vector-ref %expanded-vtables 8) 0 src name exp)))
+   (make-toplevel-define
+     (lambda (src name exp)
+       (make-struct (vector-ref %expanded-vtables 9) 0 src name exp)))
+   (make-conditional
+     (lambda (src test consequent alternate)
+       (make-struct
+         (vector-ref %expanded-vtables 10)
+         0
+         src
+         test
+         consequent
+         alternate)))
+   (make-application
+     (lambda (src proc args)
+       (make-struct (vector-ref %expanded-vtables 11) 0 src proc args)))
+   (make-sequence
+     (lambda (src exps)
+       (make-struct (vector-ref %expanded-vtables 12) 0 src exps)))
+   (make-lambda
+     (lambda (src meta body)
+       (make-struct (vector-ref %expanded-vtables 13) 0 src meta body)))
+   (make-lambda-case
+     (lambda (src req opt rest kw inits gensyms body alternate)
+       (make-struct
+         (vector-ref %expanded-vtables 14)
+         0
+         src
+         req
+         opt
+         rest
+         kw
+         inits
+         gensyms
+         body
+         alternate)))
+   (make-let
+     (lambda (src names gensyms vals body)
+       (make-struct
+         (vector-ref %expanded-vtables 15)
+         0
+         src
+         names
+         gensyms
+         vals
+         body)))
+   (make-letrec
+     (lambda (src in-order? names gensyms vals body)
+       (make-struct
+         (vector-ref %expanded-vtables 16)
+         0
+         src
+         in-order?
+         names
+         gensyms
+         vals
+         body)))
+   (make-dynlet
+     (lambda (src fluids vals body)
+       (make-struct
+         (vector-ref %expanded-vtables 17)
+         0
+         src
+         fluids
+         vals
+         body)))
+   (lambda?
+     (lambda (x)
+       (and (struct? x)
+            (eq? (struct-vtable x) (vector-ref %expanded-vtables 13)))))
+   (lambda-meta (lambda (x) (struct-ref x 1)))
+   (set-lambda-meta! (lambda (x v) (struct-set! x 1 v)))
+   (top-level-eval-hook (lambda (x mod) (primitive-eval x)))
+   (local-eval-hook (lambda (x mod) (primitive-eval x)))
+   (session-id
+     (let ((v (module-variable (current-module) 'syntax-session-id)))
+       (lambda () ((variable-ref v)))))
+   (put-global-definition-hook
+     (lambda (symbol type val)
+       (module-define!
+         (current-module)
+         symbol
+         (make-syntax-transformer symbol type val))))
+   (get-global-definition-hook
+     (lambda (symbol module)
+       (if (and (not module) (current-module))
+         (warn "module system is booted, we should have a module" symbol))
+       (let ((v (module-variable
+                  (if module (resolve-module (cdr module)) (current-module))
+                  symbol)))
+         (and v
+              (variable-bound? v)
+              (let ((val (variable-ref v)))
+                (and (macro? val)
+                     (macro-type val)
+                     (cons (macro-type val) (macro-binding val))))))))
+   (decorate-source
+     (lambda (e s)
+       (if (and s (supports-source-properties? e))
+         (set-source-properties! e s))
+       e))
+   (maybe-name-value!
+     (lambda (name val)
+       (if (lambda? val)
+         (let ((meta (lambda-meta val)))
+           (if (not (assq 'name meta))
+             (set-lambda-meta! val (acons 'name name meta)))))))
+   (build-void (lambda (source) (make-void source)))
+   (build-application
+     (lambda (source fun-exp arg-exps)
+       (make-application source fun-exp arg-exps)))
+   (build-conditional
+     (lambda (source test-exp then-exp else-exp)
+       (make-conditional source test-exp then-exp else-exp)))
+   (build-dynlet
+     (lambda (source fluids vals body)
+       (make-dynlet source fluids vals body)))
+   (build-lexical-reference
+     (lambda (type source name var) (make-lexical-ref source name var)))
+   (build-lexical-assignment
+     (lambda (source name var exp)
+       (maybe-name-value! name exp)
+       (make-lexical-set source name var exp)))
+   (analyze-variable
+     (lambda (mod var modref-cont bare-cont)
+       (if (not mod)
+         (bare-cont var)
+         (let ((kind (car mod)) (mod (cdr mod)))
+           (let ((key kind))
+             (cond ((memv key '(public)) (modref-cont mod var #t))
+                   ((memv key '(private))
+                    (if (not (equal? mod (module-name (current-module))))
+                      (modref-cont mod var #f)
+                      (bare-cont var)))
+                   ((memv key '(bare)) (bare-cont var))
+                   ((memv key '(hygiene))
+                    (if (and (not (equal? mod (module-name (current-module))))
+                             (module-variable (resolve-module mod) var))
+                      (modref-cont mod var #f)
+                      (bare-cont var)))
+                   (else (syntax-violation #f "bad module kind" var mod))))))))
+   (build-global-reference
+     (lambda (source var mod)
+       (analyze-variable
+         mod
+         var
+         (lambda (mod var public?) (make-module-ref source mod var public?))
+         (lambda (var) (make-toplevel-ref source var)))))
+   (build-global-assignment
+     (lambda (source var exp mod)
+       (maybe-name-value! var exp)
+       (analyze-variable
+         mod
+         var
+         (lambda (mod var public?)
+           (make-module-set source mod var public? exp))
+         (lambda (var) (make-toplevel-set source var exp)))))
+   (build-global-definition
+     (lambda (source var exp)
+       (maybe-name-value! var exp)
+       (make-toplevel-define source var exp)))
+   (build-simple-lambda
+     (lambda (src req rest vars meta exp)
+       (make-lambda
+         src
+         meta
+         (make-lambda-case src req #f rest #f '() vars exp #f))))
+   (build-case-lambda
+     (lambda (src meta body) (make-lambda src meta body)))
+   (build-lambda-case
+     (lambda (src req opt rest kw inits vars body else-case)
+       (make-lambda-case src req opt rest kw inits vars body else-case)))
+   (build-primref
+     (lambda (src name)
+       (if (equal? (module-name (current-module)) '(guile))
+         (make-toplevel-ref src name)
+         (make-module-ref src '(guile) name #f))))
+   (build-data (lambda (src exp) (make-const src exp)))
+   (build-sequence
+     (lambda (src exps)
+       (if (null? (cdr exps)) (car exps) (make-sequence src exps))))
+   (build-let
+     (lambda (src ids vars val-exps body-exp)
+       (for-each maybe-name-value! ids val-exps)
+       (if (null? vars) body-exp (make-let src ids vars val-exps body-exp))))
+   (build-named-let
+     (lambda (src ids vars val-exps body-exp)
+       (let ((f (car vars)) (f-name (car ids)) (vars (cdr vars)) (ids (cdr ids)))
+         (let ((proc (build-simple-lambda src ids #f vars '() body-exp)))
+           (maybe-name-value! f-name proc)
+           (for-each maybe-name-value! ids val-exps)
+           (make-letrec
+             src
+             #f
+             (list f-name)
+             (list f)
+             (list proc)
+             (build-application
+               src
+               (build-lexical-reference 'fun src f-name f)
+               val-exps))))))
+   (build-letrec
+     (lambda (src in-order? ids vars val-exps body-exp)
+       (if (null? vars)
+         body-exp
+         (begin
+           (for-each maybe-name-value! ids val-exps)
+           (make-letrec src in-order? ids vars val-exps body-exp)))))
+   (make-syntax-object
+     (lambda (expression wrap module)
+       (vector 'syntax-object expression wrap module)))
+   (syntax-object?
+     (lambda (x)
+       (and (vector? x)
+            (= (vector-length x) 4)
+            (eq? (vector-ref x 0) 'syntax-object))))
+   (syntax-object-expression (lambda (x) (vector-ref x 1)))
+   (syntax-object-wrap (lambda (x) (vector-ref x 2)))
+   (syntax-object-module (lambda (x) (vector-ref x 3)))
+   (set-syntax-object-expression!
+     (lambda (x update) (vector-set! x 1 update)))
+   (set-syntax-object-wrap!
+     (lambda (x update) (vector-set! x 2 update)))
+   (set-syntax-object-module!
+     (lambda (x update) (vector-set! x 3 update)))
+   (source-annotation
+     (lambda (x)
+       (let ((props (source-properties
+                      (if (syntax-object? x) (syntax-object-expression x) x))))
+         (and (pair? props) props))))
+   (extend-env
+     (lambda (labels bindings r)
+       (if (null? labels)
+         r
+         (extend-env
+           (cdr labels)
+           (cdr bindings)
+           (cons (cons (car labels) (car bindings)) r)))))
+   (extend-var-env
+     (lambda (labels vars r)
+       (if (null? labels)
+         r
+         (extend-var-env
+           (cdr labels)
+           (cdr vars)
+           (cons (cons (car labels) (cons 'lexical (car vars))) r)))))
+   (macros-only-env
+     (lambda (r)
+       (if (null? r)
+         '()
+         (let ((a (car r)))
+           (if (eq? (cadr a) 'macro)
+             (cons a (macros-only-env (cdr r)))
+             (macros-only-env (cdr r)))))))
+   (lookup
+     (lambda (x r mod)
+       (let ((t (assq x r)))
+         (cond (t (cdr t))
+               ((symbol? x) (or (get-global-definition-hook x mod) '(global)))
+               (else '(displaced-lexical))))))
+   (global-extend
+     (lambda (type sym val) (put-global-definition-hook sym type val)))
+   (nonsymbol-id?
+     (lambda (x)
+       (and (syntax-object? x) (symbol? (syntax-object-expression x)))))
+   (id? (lambda (x)
+          (if (symbol? x)
+            #t
+            (and (syntax-object? x) (symbol? (syntax-object-expression x))))))
+   (id-sym-name&marks
+     (lambda (x w)
+       (if (syntax-object? x)
+         (values
+           (syntax-object-expression x)
+           (join-marks (car w) (car (syntax-object-wrap x))))
+         (values x (car w)))))
+   (gen-label
+     (lambda ()
+       (string-append "l-" (session-id) (symbol->string (gensym "-")))))
+   (gen-labels
+     (lambda (ls)
+       (if (null? ls) '() (cons (gen-label) (gen-labels (cdr ls))))))
+   (make-ribcage
+     (lambda (symnames marks labels)
+       (vector 'ribcage symnames marks labels)))
+   (ribcage?
+     (lambda (x)
+       (and (vector? x)
+            (= (vector-length x) 4)
+            (eq? (vector-ref x 0) 'ribcage))))
+   (ribcage-symnames (lambda (x) (vector-ref x 1)))
+   (ribcage-marks (lambda (x) (vector-ref x 2)))
+   (ribcage-labels (lambda (x) (vector-ref x 3)))
+   (set-ribcage-symnames! (lambda (x update) (vector-set! x 1 update)))
+   (set-ribcage-marks! (lambda (x update) (vector-set! x 2 update)))
+   (set-ribcage-labels! (lambda (x update) (vector-set! x 3 update)))
+   (anti-mark
+     (lambda (w) (cons (cons #f (car w)) (cons 'shift (cdr w)))))
+   (extend-ribcage!
+     (lambda (ribcage id label)
+       (set-ribcage-symnames!
+         ribcage
+         (cons (syntax-object-expression id) (ribcage-symnames ribcage)))
+       (set-ribcage-marks!
+         ribcage
+         (cons (car (syntax-object-wrap id)) (ribcage-marks ribcage)))
+       (set-ribcage-labels! ribcage (cons label (ribcage-labels ribcage)))))
+   (make-binding-wrap
+     (lambda (ids labels w)
+       (if (null? ids)
+         w
+         (cons (car w)
+               (cons (let* ((labelvec (list->vector labels)) (n (vector-length labelvec)))
+                       (let ((symnamevec (make-vector n)) (marksvec (make-vector n)))
+                         (let f ((ids ids) (i 0))
+                           (if (not (null? ids))
+                             (call-with-values
+                               (lambda () (id-sym-name&marks (car ids) w))
+                               (lambda (symname marks)
+                                 (vector-set! symnamevec i symname)
+                                 (vector-set! marksvec i marks)
+                                 (f (cdr ids) (+ i 1))))))
+                         (make-ribcage symnamevec marksvec labelvec)))
+                     (cdr w))))))
+   (smart-append (lambda (m1 m2) (if (null? m2) m1 (append m1 m2))))
+   (join-wraps
+     (lambda (w1 w2)
+       (let ((m1 (car w1)) (s1 (cdr w1)))
+         (if (null? m1)
+           (if (null? s1) w2 (cons (car w2) (smart-append s1 (cdr w2))))
+           (cons (smart-append m1 (car w2)) (smart-append s1 (cdr w2)))))))
+   (join-marks (lambda (m1 m2) (smart-append m1 m2)))
+   (same-marks?
+     (lambda (x y)
+       (or (eq? x y)
+           (and (not (null? x))
+                (not (null? y))
+                (eq? (car x) (car y))
+                (same-marks? (cdr x) (cdr y))))))
+   (id-var-name
+     (lambda (id w)
+       (letrec*
+         ((search
+            (lambda (sym subst marks)
+              (if (null? subst)
+                (values #f marks)
+                (let ((fst (car subst)))
+                  (if (eq? fst 'shift)
+                    (search sym (cdr subst) (cdr marks))
+                    (let ((symnames (ribcage-symnames fst)))
+                      (if (vector? symnames)
+                        (search-vector-rib sym subst marks symnames fst)
+                        (search-list-rib sym subst marks symnames fst))))))))
+          (search-list-rib
+            (lambda (sym subst marks symnames ribcage)
+              (let f ((symnames symnames) (i 0))
+                (cond ((null? symnames) (search sym (cdr subst) marks))
+                      ((and (eq? (car symnames) sym)
+                            (same-marks? marks (list-ref (ribcage-marks ribcage) i)))
+                       (values (list-ref (ribcage-labels ribcage) i) marks))
+                      (else (f (cdr symnames) (+ i 1)))))))
+          (search-vector-rib
+            (lambda (sym subst marks symnames ribcage)
+              (let ((n (vector-length symnames)))
+                (let f ((i 0))
+                  (cond ((= i n) (search sym (cdr subst) marks))
+                        ((and (eq? (vector-ref symnames i) sym)
+                              (same-marks? marks (vector-ref (ribcage-marks ribcage) i)))
+                         (values (vector-ref (ribcage-labels ribcage) i) marks))
+                        (else (f (+ i 1)))))))))
+         (cond ((symbol? id) (or (search id (cdr w) (car w)) id))
+               ((syntax-object? id)
+                (let ((id (syntax-object-expression id)) (w1 (syntax-object-wrap id)))
+                  (let ((marks (join-marks (car w) (car w1))))
+                    (call-with-values
+                      (lambda () (search id (cdr w) marks))
+                      (lambda (new-id marks) (or new-id (search id (cdr w1) marks) id))))))
+               (else (syntax-violation 'id-var-name "invalid id" id))))))
+   (locally-bound-identifiers
+     (lambda (w mod)
+       (letrec*
+         ((scan (lambda (subst results)
+                  (if (null? subst)
+                    results
+                    (let ((fst (car subst)))
+                      (if (eq? fst 'shift)
+                        (scan (cdr subst) results)
+                        (let ((symnames (ribcage-symnames fst)) (marks (ribcage-marks fst)))
+                          (if (vector? symnames)
+                            (scan-vector-rib subst symnames marks results)
+                            (scan-list-rib subst symnames marks results))))))))
+          (scan-list-rib
+            (lambda (subst symnames marks results)
+              (let f ((symnames symnames) (marks marks) (results results))
+                (if (null? symnames)
+                  (scan (cdr subst) results)
+                  (f (cdr symnames)
+                     (cdr marks)
+                     (cons (wrap (car symnames) (anti-mark (cons (car marks) subst)) mod)
+                           results))))))
+          (scan-vector-rib
+            (lambda (subst symnames marks results)
+              (let ((n (vector-length symnames)))
+                (let f ((i 0) (results results))
+                  (if (= i n)
+                    (scan (cdr subst) results)
+                    (f (+ i 1)
+                       (cons (wrap (vector-ref symnames i)
+                                   (anti-mark (cons (vector-ref marks i) subst))
+                                   mod)
+                             results))))))))
+         (scan (cdr w) '()))))
+   (resolve-identifier
+     (lambda (id w r mod)
+       (letrec*
+         ((resolve-global
+            (lambda (var mod)
+              (let ((b (or (get-global-definition-hook var mod) '(global))))
+                (if (eq? (car b) 'global)
+                  (values 'global var mod)
+                  (values (car b) (cdr b) mod)))))
+          (resolve-lexical
+            (lambda (label mod)
+              (let ((b (or (assq-ref r label) '(displaced-lexical))))
+                (values (car b) (cdr b) mod)))))
+         (let ((n (id-var-name id w)))
+           (cond ((symbol? n)
+                  (resolve-global
+                    n
+                    (if (syntax-object? id) (syntax-object-module id) mod)))
+                 ((string? n)
+                  (resolve-lexical
+                    n
+                    (if (syntax-object? id) (syntax-object-module id) mod)))
+                 (else (error "unexpected id-var-name" id w n)))))))
+   (transformer-environment
+     (make-fluid
+       (lambda (k)
+         (error "called outside the dynamic extent of a syntax transformer"))))
+   (with-transformer-environment
+     (lambda (k) ((fluid-ref transformer-environment) k)))
+   (free-id=?
+     (lambda (i j)
+       (and (eq? (let ((x i)) (if (syntax-object? x) (syntax-object-expression x) x))
+                 (let ((x j)) (if (syntax-object? x) (syntax-object-expression x) x)))
+            (eq? (id-var-name i '(())) (id-var-name j '(()))))))
+   (bound-id=?
+     (lambda (i j)
+       (if (and (syntax-object? i) (syntax-object? j))
+         (and (eq? (syntax-object-expression i) (syntax-object-expression j))
+              (same-marks?
+                (car (syntax-object-wrap i))
+                (car (syntax-object-wrap j))))
+         (eq? i j))))
+   (valid-bound-ids?
+     (lambda (ids)
+       (and (let all-ids? ((ids ids))
+              (or (null? ids) (and (id? (car ids)) (all-ids? (cdr ids)))))
+            (distinct-bound-ids? ids))))
+   (distinct-bound-ids?
+     (lambda (ids)
+       (let distinct? ((ids ids))
+         (or (null? ids)
+             (and (not (bound-id-member? (car ids) (cdr ids)))
+                  (distinct? (cdr ids)))))))
+   (bound-id-member?
+     (lambda (x list)
+       (and (not (null? list))
+            (or (bound-id=? x (car list)) (bound-id-member? x (cdr list))))))
+   (wrap (lambda (x w defmod)
+           (cond ((and (null? (car w)) (null? (cdr w))) x)
+                 ((syntax-object? x)
+                  (make-syntax-object
+                    (syntax-object-expression x)
+                    (join-wraps w (syntax-object-wrap x))
+                    (syntax-object-module x)))
+                 ((null? x) x)
+                 (else (make-syntax-object x w defmod)))))
+   (source-wrap
+     (lambda (x w s defmod) (wrap (decorate-source x s) w defmod)))
+   (expand-sequence
+     (lambda (body r w s mod)
+       (build-sequence
+         s
+         (let dobody ((body body) (r r) (w w) (mod mod))
+           (if (null? body)
+             '()
+             (let ((first (expand (car body) r w mod)))
+               (cons first (dobody (cdr body) r w mod))))))))
+   (expand-top-sequence
+     (lambda (body r w s m esew mod)
+       (letrec*
+         ((scan (lambda (body r w s m esew mod exps)
+                  (if (null? body)
+                    exps
+                    (call-with-values
+                      (lambda ()
+                        (call-with-values
+                          (lambda ()
+                            (let ((e (car body)))
+                              (syntax-type e r w (or (source-annotation e) s) #f mod #f)))
+                          (lambda (type value form e w s mod)
+                            (let ((key type))
+                              (cond ((memv key '(begin-form))
+                                     (let* ((tmp e) (tmp-1 ($sc-dispatch tmp '(_))))
+                                       (if tmp-1
+                                         (apply (lambda () exps) tmp-1)
+                                         (let ((tmp-1 ($sc-dispatch tmp '(_ any . each-any))))
+                                           (if tmp-1
+                                             (apply (lambda (e1 e2) (scan (cons e1 e2) r w s m esew mod exps))
+                                                    tmp-1)
+                                             (syntax-violation
+                                               #f
+                                               "source expression failed to match any pattern"
+                                               tmp))))))
+                                    ((memv key '(local-syntax-form))
+                                     (expand-local-syntax
+                                       value
+                                       e
+                                       r
+                                       w
+                                       s
+                                       mod
+                                       (lambda (body r w s mod) (scan body r w s m esew mod exps))))
+                                    ((memv key '(eval-when-form))
+                                     (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ each-any any . each-any))))
+                                       (if tmp
+                                         (apply (lambda (x e1 e2)
+                                                  (let ((when-list (parse-when-list e x)) (body (cons e1 e2)))
+                                                    (cond ((eq? m 'e)
+                                                           (if (memq 'eval when-list)
+                                                             (scan body
+                                                                   r
+                                                                   w
+                                                                   s
+                                                                   (if (memq 'expand when-list) 'c&e 'e)
+                                                                   '(eval)
+                                                                   mod
+                                                                   exps)
+                                                             (begin
+                                                               (if (memq 'expand when-list)
+                                                                 (top-level-eval-hook
+                                                                   (expand-top-sequence body r w s 'e '(eval) mod)
+                                                                   mod))
+                                                               (values exps))))
+                                                          ((memq 'load when-list)
+                                                           (cond ((or (memq 'compile when-list)
+                                                                      (memq 'expand when-list)
+                                                                      (and (eq? m 'c&e) (memq 'eval when-list)))
+                                                                  (scan body r w s 'c&e '(compile load) mod exps))
+                                                                 ((memq m '(c c&e))
+                                                                  (scan body r w s 'c '(load) mod exps))
+                                                                 (else (values exps))))
+                                                          ((or (memq 'compile when-list)
+                                                               (memq 'expand when-list)
+                                                               (and (eq? m 'c&e) (memq 'eval when-list)))
+                                                           (top-level-eval-hook
+                                                             (expand-top-sequence body r w s 'e '(eval) mod)
+                                                             mod)
+                                                           (values exps))
+                                                          (else (values exps)))))
+                                                tmp)
+                                         (syntax-violation
+                                           #f
+                                           "source expression failed to match any pattern"
+                                           tmp-1))))
+                                    ((memv key '(define-syntax-form define-syntax-parameter-form))
+                                     (let ((n (id-var-name value w)) (r (macros-only-env r)))
+                                       (let ((key m))
+                                         (cond ((memv key '(c))
+                                                (cond ((memq 'compile esew)
+                                                       (let ((e (expand-install-global n (expand e r w mod))))
+                                                         (top-level-eval-hook e mod)
+                                                         (if (memq 'load esew) (values (cons e exps)) (values exps))))
+                                                      ((memq 'load esew)
+                                                       (values
+                                                         (cons (expand-install-global n (expand e r w mod)) exps)))
+                                                      (else (values exps))))
+                                               ((memv key '(c&e))
+                                                (let ((e (expand-install-global n (expand e r w mod))))
+                                                  (top-level-eval-hook e mod)
+                                                  (values (cons e exps))))
+                                               (else
+                                                (if (memq 'eval esew)
+                                                  (top-level-eval-hook
+                                                    (expand-install-global n (expand e r w mod))
+                                                    mod))
+                                                (values exps))))))
+                                    ((memv key '(define-form))
+                                     (let* ((n (id-var-name value w)) (type (car (lookup n r mod))) (key type))
+                                       (cond ((memv key '(global core macro module-ref))
+                                              (if (and (memq m '(c c&e))
+                                                       (not (module-local-variable (current-module) n))
+                                                       (current-module))
+                                                (let ((old (module-variable (current-module) n)))
+                                                  (if (and (variable? old) (variable-bound? old))
+                                                    (module-define! (current-module) n (variable-ref old))
+                                                    (module-add! (current-module) n (make-undefined-variable)))))
+                                              (values
+                                                (cons (if (eq? m 'c&e)
+                                                        (let ((x (build-global-definition s n (expand e r w mod))))
+                                                          (top-level-eval-hook x mod)
+                                                          x)
+                                                        (lambda () (build-global-definition s n (expand e r w mod))))
+                                                      exps)))
+                                             ((memv key '(displaced-lexical))
+                                              (syntax-violation
+                                                #f
+                                                "identifier out of context"
+                                                (source-wrap form w s mod)
+                                                (wrap value w mod)))
+                                             (else
+                                              (syntax-violation
+                                                #f
+                                                "cannot define keyword at top level"
+                                                (source-wrap form w s mod)
+                                                (wrap value w mod))))))
+                                    (else
+                                     (values
+                                       (cons (if (eq? m 'c&e)
+                                               (let ((x (expand-expr type value form e r w s mod)))
+                                                 (top-level-eval-hook x mod)
+                                                 x)
+                                               (lambda () (expand-expr type value form e r w s mod)))
+                                             exps))))))))
+                      (lambda (exps) (scan (cdr body) r w s m esew mod exps)))))))
+         (call-with-values
+           (lambda () (scan body r w s m esew mod '()))
+           (lambda (exps)
+             (if (null? exps)
+               (build-void s)
+               (build-sequence
+                 s
+                 (let lp ((in exps) (out '()))
+                   (if (null? in)
+                     out
+                     (let ((e (car in)))
+                       (lp (cdr in) (cons (if (procedure? e) (e) e) out))))))))))))
+   (expand-install-global
+     (lambda (name e)
+       (build-global-definition
+         #f
+         name
+         (build-application
+           #f
+           (build-primref #f 'make-syntax-transformer)
+           (list (build-data #f name) (build-data #f 'macro) e)))))
+   (parse-when-list
+     (lambda (e when-list)
+       (let ((result (strip when-list '(()))))
+         (let lp ((l result))
+           (cond ((null? l) result)
+                 ((memq (car l) '(compile load eval expand)) (lp (cdr l)))
+                 (else (syntax-violation 'eval-when "invalid situation" e (car l))))))))
+   (syntax-type
+     (lambda (e r w s rib mod for-car?)
+       (cond ((symbol? e)
+              (let* ((n (id-var-name e w))
+                     (b (lookup n r mod))
+                     (type (car b))
+                     (key type))
+                (cond ((memv key '(lexical)) (values type (cdr b) e e w s mod))
+                      ((memv key '(global)) (values type n e e w s mod))
+                      ((memv key '(macro))
+                       (if for-car?
+                         (values type (cdr b) e e w s mod)
+                         (syntax-type
+                           (expand-macro (cdr b) e r w s rib mod)
+                           r
+                           '(())
+                           s
+                           rib
+                           mod
+                           #f)))
+                      (else (values type (cdr b) e e w s mod)))))
+             ((pair? e)
+              (let ((first (car e)))
+                (call-with-values
+                  (lambda () (syntax-type first r w s rib mod #t))
+                  (lambda (ftype fval fform fe fw fs fmod)
+                    (let ((key ftype))
+                      (cond ((memv key '(lexical)) (values 'lexical-call fval e e w s mod))
+                            ((memv key '(global))
+                             (values 'global-call (make-syntax-object fval w fmod) e e w s mod))
+                            ((memv key '(macro))
+                             (syntax-type
+                               (expand-macro fval e r w s rib mod)
+                               r
+                               '(())
+                               s
+                               rib
+                               mod
+                               for-car?))
+                            ((memv key '(module-ref))
+                             (call-with-values
+                               (lambda () (fval e r w))
+                               (lambda (e r w s mod) (syntax-type e r w s rib mod for-car?))))
+                            ((memv key '(core)) (values 'core-form fval e e w s mod))
+                            ((memv key '(local-syntax))
+                             (values 'local-syntax-form fval e e w s mod))
+                            ((memv key '(begin)) (values 'begin-form #f e e w s mod))
+                            ((memv key '(eval-when)) (values 'eval-when-form #f e e w s mod))
+                            ((memv key '(define))
+                             (let* ((tmp e) (tmp-1 ($sc-dispatch tmp '(_ any any))))
+                               (if (and tmp-1 (apply (lambda (name val) (id? name)) tmp-1))
+                                 (apply (lambda (name val) (values 'define-form name e val w s mod))
+                                        tmp-1)
+                                 (let ((tmp-1 ($sc-dispatch tmp '(_ (any . any) any . each-any))))
+                                   (if (and tmp-1
+                                            (apply (lambda (name args e1 e2)
+                                                     (and (id? name) (valid-bound-ids? (lambda-var-list args))))
+                                                   tmp-1))
+                                     (apply (lambda (name args e1 e2)
+                                              (values
+                                                'define-form
+                                                (wrap name w mod)
+                                                (wrap e w mod)
+                                                (decorate-source
+                                                  (cons '#(syntax-object lambda ((top)) (hygiene guile))
+                                                        (wrap (cons args (cons e1 e2)) w mod))
+                                                  s)
+                                                '(())
+                                                s
+                                                mod))
+                                            tmp-1)
+                                     (let ((tmp-1 ($sc-dispatch tmp '(_ any))))
+                                       (if (and tmp-1 (apply (lambda (name) (id? name)) tmp-1))
+                                         (apply (lambda (name)
+                                                  (values
+                                                    'define-form
+                                                    (wrap name w mod)
+                                                    (wrap e w mod)
+                                                    '(#(syntax-object if ((top)) (hygiene guile)) #f #f)
+                                                    '(())
+                                                    s
+                                                    mod))
+                                                tmp-1)
+                                         (syntax-violation
+                                           #f
+                                           "source expression failed to match any pattern"
+                                           tmp))))))))
+                            ((memv key '(define-syntax))
+                             (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ any any))))
+                               (if (and tmp (apply (lambda (name val) (id? name)) tmp))
+                                 (apply (lambda (name val) (values 'define-syntax-form name e val w s mod))
+                                        tmp)
+                                 (syntax-violation
+                                   #f
+                                   "source expression failed to match any pattern"
+                                   tmp-1))))
+                            ((memv key '(define-syntax-parameter))
+                             (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ any any))))
+                               (if (and tmp (apply (lambda (name val) (id? name)) tmp))
+                                 (apply (lambda (name val)
+                                          (values 'define-syntax-parameter-form name e val w s mod))
+                                        tmp)
+                                 (syntax-violation
+                                   #f
+                                   "source expression failed to match any pattern"
+                                   tmp-1))))
+                            (else (values 'call #f e e w s mod))))))))
+             ((syntax-object? e)
+              (syntax-type
+                (syntax-object-expression e)
+                r
+                (join-wraps w (syntax-object-wrap e))
+                (or (source-annotation e) s)
+                rib
+                (or (syntax-object-module e) mod)
+                for-car?))
+             ((self-evaluating? e) (values 'constant #f e e w s mod))
+             (else (values 'other #f e e w s mod)))))
+   (expand
+     (lambda (e r w mod)
+       (call-with-values
+         (lambda () (syntax-type e r w (source-annotation e) #f mod #f))
+         (lambda (type value form e w s mod)
+           (expand-expr type value form e r w s mod)))))
+   (expand-expr
+     (lambda (type value form e r w s mod)
+       (let ((key type))
+         (cond ((memv key '(lexical)) (build-lexical-reference 'value s e value))
+               ((memv key '(core core-form)) (value e r w s mod))
+               ((memv key '(module-ref))
+                (call-with-values
+                  (lambda () (value e r w))
+                  (lambda (e r w s mod) (expand e r w mod))))
+               ((memv key '(lexical-call))
+                (expand-application
+                  (let ((id (car e)))
+                    (build-lexical-reference
+                      'fun
+                      (source-annotation id)
+                      (if (syntax-object? id) (syntax->datum id) id)
+                      value))
+                  e
+                  r
+                  w
+                  s
+                  mod))
+               ((memv key '(global-call))
+                (expand-application
+                  (build-global-reference
+                    (source-annotation (car e))
+                    (if (syntax-object? value) (syntax-object-expression value) value)
+                    (if (syntax-object? value) (syntax-object-module value) mod))
+                  e
+                  r
+                  w
+                  s
+                  mod))
+               ((memv key '(constant))
+                (build-data s (strip (source-wrap e w s mod) '(()))))
+               ((memv key '(global)) (build-global-reference s value mod))
+               ((memv key '(call))
+                (expand-application (expand (car e) r w mod) e r w s mod))
+               ((memv key '(begin-form))
+                (let* ((tmp e) (tmp-1 ($sc-dispatch tmp '(_ any . each-any))))
+                  (if tmp-1
+                    (apply (lambda (e1 e2) (expand-sequence (cons e1 e2) r w s mod))
+                           tmp-1)
+                    (let ((tmp-1 ($sc-dispatch tmp '(_))))
+                      (if tmp-1
+                        (apply (lambda ()
+                                 (if (include-deprecated-features)
+                                   (begin
+                                     (issue-deprecation-warning
+                                       "Sequences of zero expressions are deprecated.  Use *unspecified*.")
+                                     (expand-void))
+                                   (syntax-violation
+                                     #f
+                                     "sequence of zero expressions"
+                                     (source-wrap e w s mod))))
+                               tmp-1)
+                        (syntax-violation
+                          #f
+                          "source expression failed to match any pattern"
+                          tmp))))))
+               ((memv key '(local-syntax-form))
+                (expand-local-syntax value e r w s mod expand-sequence))
+               ((memv key '(eval-when-form))
+                (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ each-any any . each-any))))
+                  (if tmp
+                    (apply (lambda (x e1 e2)
+                             (let ((when-list (parse-when-list e x)))
+                               (if (memq 'eval when-list)
+                                 (expand-sequence (cons e1 e2) r w s mod)
+                                 (expand-void))))
+                           tmp)
+                    (syntax-violation
+                      #f
+                      "source expression failed to match any pattern"
+                      tmp-1))))
+               ((memv key
+                      '(define-form define-syntax-form define-syntax-parameter-form))
+                (syntax-violation
+                  #f
+                  "definition in expression context, where definitions are not allowed,"
+                  (source-wrap form w s mod)))
+               ((memv key '(syntax))
+                (syntax-violation
+                  #f
+                  "reference to pattern variable outside syntax form"
+                  (source-wrap e w s mod)))
+               ((memv key '(displaced-lexical))
+                (syntax-violation
+                  #f
+                  "reference to identifier outside its scope"
+                  (source-wrap e w s mod)))
+               (else
+                (syntax-violation #f "unexpected syntax" (source-wrap e w s mod)))))))
+   (expand-application
+     (lambda (x e r w s mod)
+       (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(any . each-any))))
+         (if tmp
+           (apply (lambda (e0 e1)
+                    (build-application s x (map (lambda (e) (expand e r w mod)) e1)))
+                  tmp)
+           (syntax-violation
+             #f
+             "source expression failed to match any pattern"
+             tmp-1)))))
+   (expand-macro
+     (lambda (p e r w s rib mod)
+       (letrec*
+         ((rebuild-macro-output
+            (lambda (x m)
+              (cond ((pair? x)
+                     (decorate-source
+                       (cons (rebuild-macro-output (car x) m)
+                             (rebuild-macro-output (cdr x) m))
+                       s))
+                    ((syntax-object? x)
+                     (let ((w (syntax-object-wrap x)))
+                       (let ((ms (car w)) (ss (cdr w)))
+                         (if (and (pair? ms) (eq? (car ms) #f))
+                           (make-syntax-object
+                             (syntax-object-expression x)
+                             (cons (cdr ms) (if rib (cons rib (cdr ss)) (cdr ss)))
+                             (syntax-object-module x))
+                           (make-syntax-object
+                             (decorate-source (syntax-object-expression x) s)
+                             (cons (cons m ms)
+                                   (if rib (cons rib (cons 'shift ss)) (cons 'shift ss)))
+                             (syntax-object-module x))))))
+                    ((vector? x)
+                     (let* ((n (vector-length x)) (v (decorate-source (make-vector n) s)))
+                       (let loop ((i 0))
+                         (if (= i n)
+                           (begin (if #f #f) v)
+                           (begin
+                             (vector-set! v i (rebuild-macro-output (vector-ref x i) m))
+                             (loop (+ i 1)))))))
+                    ((symbol? x)
+                     (syntax-violation
+                       #f
+                       "encountered raw symbol in macro output"
+                       (source-wrap e w (cdr w) mod)
+                       x))
+                    (else (decorate-source x s))))))
+         (with-fluids
+           ((transformer-environment (lambda (k) (k e r w s rib mod))))
+           (rebuild-macro-output
+             (p (source-wrap e (anti-mark w) s mod))
+             (gensym (string-append "m-" (session-id) "-")))))))
+   (expand-body
+     (lambda (body outer-form r w mod)
+       (let* ((r (cons '("placeholder" placeholder) r))
+              (ribcage (make-ribcage '() '() '()))
+              (w (cons (car w) (cons ribcage (cdr w)))))
+         (let parse ((body (map (lambda (x) (cons r (wrap x w mod))) body))
+                     (ids '())
+                     (labels '())
+                     (var-ids '())
+                     (vars '())
+                     (vals '())
+                     (bindings '()))
+           (if (null? body)
+             (syntax-violation #f "no expressions in body" outer-form)
+             (let ((e (cdar body)) (er (caar body)))
+               (call-with-values
+                 (lambda ()
+                   (syntax-type e er '(()) (source-annotation e) ribcage mod #f))
+                 (lambda (type value form e w s mod)
+                   (let ((key type))
+                     (cond ((memv key '(define-form))
+                            (let ((id (wrap value w mod)) (label (gen-label)))
+                              (let ((var (gen-var id)))
+                                (extend-ribcage! ribcage id label)
+                                (parse (cdr body)
+                                       (cons id ids)
+                                       (cons label labels)
+                                       (cons id var-ids)
+                                       (cons var vars)
+                                       (cons (cons er (wrap e w mod)) vals)
+                                       (cons (cons 'lexical var) bindings)))))
+                           ((memv key '(define-syntax-form define-syntax-parameter-form))
+                            (let ((id (wrap value w mod))
+                                  (label (gen-label))
+                                  (trans-r (macros-only-env er)))
+                              (extend-ribcage! ribcage id label)
+                              (set-cdr!
+                                r
+                                (extend-env
+                                  (list label)
+                                  (list (cons 'macro (eval-local-transformer (expand e trans-r w mod) mod)))
+                                  (cdr r)))
+                              (parse (cdr body) (cons id ids) labels var-ids vars vals bindings)))
+                           ((memv key '(begin-form))
+                            (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ . each-any))))
+                              (if tmp
+                                (apply (lambda (e1)
+                                         (parse (let f ((forms e1))
+                                                  (if (null? forms)
+                                                    (cdr body)
+                                                    (cons (cons er (wrap (car forms) w mod)) (f (cdr forms)))))
+                                                ids
+                                                labels
+                                                var-ids
+                                                vars
+                                                vals
+                                                bindings))
+                                       tmp)
+                                (syntax-violation
+                                  #f
+                                  "source expression failed to match any pattern"
+                                  tmp-1))))
+                           ((memv key '(local-syntax-form))
+                            (expand-local-syntax
+                              value
+                              e
+                              er
+                              w
+                              s
+                              mod
+                              (lambda (forms er w s mod)
+                                (parse (let f ((forms forms))
+                                         (if (null? forms)
+                                           (cdr body)
+                                           (cons (cons er (wrap (car forms) w mod)) (f (cdr forms)))))
+                                       ids
+                                       labels
+                                       var-ids
+                                       vars
+                                       vals
+                                       bindings))))
+                           ((null? ids)
+                            (build-sequence
+                              #f
+                              (map (lambda (x) (expand (cdr x) (car x) '(()) mod))
+                                   (cons (cons er (source-wrap e w s mod)) (cdr body)))))
+                           (else
+                            (if (not (valid-bound-ids? ids))
+                              (syntax-violation
+                                #f
+                                "invalid or duplicate identifier in definition"
+                                outer-form))
+                            (set-cdr! r (extend-env labels bindings (cdr r)))
+                            (build-letrec
+                              #f
+                              #t
+                              (reverse (map syntax->datum var-ids))
+                              (reverse vars)
+                              (map (lambda (x) (expand (cdr x) (car x) '(()) mod)) (reverse vals))
+                              (build-sequence
+                                #f
+                                (map (lambda (x) (expand (cdr x) (car x) '(()) mod))
+                                     (cons (cons er (source-wrap e w s mod)) (cdr body))))))))))))))))
+   (expand-local-syntax
+     (lambda (rec? e r w s mod k)
+       (let* ((tmp e)
+              (tmp ($sc-dispatch tmp '(_ #(each (any any)) any . each-any))))
+         (if tmp
+           (apply (lambda (id val e1 e2)
+                    (let ((ids id))
+                      (if (not (valid-bound-ids? ids))
+                        (syntax-violation #f "duplicate bound keyword" e)
+                        (let* ((labels (gen-labels ids)) (new-w (make-binding-wrap ids labels w)))
+                          (k (cons e1 e2)
+                             (extend-env
+                               labels
+                               (let ((w (if rec? new-w w)) (trans-r (macros-only-env r)))
+                                 (map (lambda (x)
+                                        (cons 'macro (eval-local-transformer (expand x trans-r w mod) mod)))
+                                      val))
+                               r)
+                             new-w
+                             s
+                             mod)))))
+                  tmp)
+           (syntax-violation
+             #f
+             "bad local syntax definition"
+             (source-wrap e w s mod))))))
+   (eval-local-transformer
+     (lambda (expanded mod)
+       (let ((p (local-eval-hook expanded mod)))
+         (if (procedure? p)
+           p
+           (syntax-violation #f "nonprocedure transformer" p)))))
+   (expand-void (lambda () (build-void #f)))
+   (ellipsis?
+     (lambda (x)
+       (and (nonsymbol-id? x)
+            (free-id=? x '#(syntax-object ... ((top)) (hygiene guile))))))
+   (lambda-formals
+     (lambda (orig-args)
+       (letrec*
+         ((req (lambda (args rreq)
+                 (let* ((tmp args) (tmp-1 ($sc-dispatch tmp '())))
+                   (if tmp-1
+                     (apply (lambda () (check (reverse rreq) #f)) tmp-1)
+                     (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                       (if (and tmp-1 (apply (lambda (a b) (id? a)) tmp-1))
+                         (apply (lambda (a b) (req b (cons a rreq))) tmp-1)
+                         (let ((tmp-1 (list tmp)))
+                           (if (and tmp-1 (apply (lambda (r) (id? r)) tmp-1))
+                             (apply (lambda (r) (check (reverse rreq) r)) tmp-1)
+                             (let ((else tmp))
+                               (syntax-violation 'lambda "invalid argument list" orig-args args))))))))))
+          (check (lambda (req rest)
+                   (if (distinct-bound-ids? (if rest (cons rest req) req))
+                     (values req #f rest #f)
+                     (syntax-violation
+                       'lambda
+                       "duplicate identifier in argument list"
+                       orig-args)))))
+         (req orig-args '()))))
+   (expand-simple-lambda
+     (lambda (e r w s mod req rest meta body)
+       (let* ((ids (if rest (append req (list rest)) req))
+              (vars (map gen-var ids))
+              (labels (gen-labels ids)))
+         (build-simple-lambda
+           s
+           (map syntax->datum req)
+           (and rest (syntax->datum rest))
+           vars
+           meta
+           (expand-body
+             body
+             (source-wrap e w s mod)
+             (extend-var-env labels vars r)
+             (make-binding-wrap ids labels w)
+             mod)))))
+   (lambda*-formals
+     (lambda (orig-args)
+       (letrec*
+         ((req (lambda (args rreq)
+                 (let* ((tmp args) (tmp-1 ($sc-dispatch tmp '())))
+                   (if tmp-1
+                     (apply (lambda () (check (reverse rreq) '() #f '())) tmp-1)
+                     (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                       (if (and tmp-1 (apply (lambda (a b) (id? a)) tmp-1))
+                         (apply (lambda (a b) (req b (cons a rreq))) tmp-1)
+                         (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                           (if (and tmp-1
+                                    (apply (lambda (a b) (eq? (syntax->datum a) #:optional)) tmp-1))
+                             (apply (lambda (a b) (opt b (reverse rreq) '())) tmp-1)
+                             (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                               (if (and tmp-1
+                                        (apply (lambda (a b) (eq? (syntax->datum a) #:key)) tmp-1))
+                                 (apply (lambda (a b) (key b (reverse rreq) '() '())) tmp-1)
+                                 (let ((tmp-1 ($sc-dispatch tmp '(any any))))
+                                   (if (and tmp-1
+                                            (apply (lambda (a b) (eq? (syntax->datum a) #:rest)) tmp-1))
+                                     (apply (lambda (a b) (rest b (reverse rreq) '() '())) tmp-1)
+                                     (let ((tmp-1 (list tmp)))
+                                       (if (and tmp-1 (apply (lambda (r) (id? r)) tmp-1))
+                                         (apply (lambda (r) (rest r (reverse rreq) '() '())) tmp-1)
+                                         (let ((else tmp))
+                                           (syntax-violation
+                                             'lambda*
+                                             "invalid argument list"
+                                             orig-args
+                                             args))))))))))))))))
+          (opt (lambda (args req ropt)
+                 (let* ((tmp args) (tmp-1 ($sc-dispatch tmp '())))
+                   (if tmp-1
+                     (apply (lambda () (check req (reverse ropt) #f '())) tmp-1)
+                     (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                       (if (and tmp-1 (apply (lambda (a b) (id? a)) tmp-1))
+                         (apply (lambda (a b) (opt b req (cons (cons a '(#f)) ropt))) tmp-1)
+                         (let ((tmp-1 ($sc-dispatch tmp '((any any) . any))))
+                           (if (and tmp-1 (apply (lambda (a init b) (id? a)) tmp-1))
+                             (apply (lambda (a init b) (opt b req (cons (list a init) ropt)))
+                                    tmp-1)
+                             (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                               (if (and tmp-1
+                                        (apply (lambda (a b) (eq? (syntax->datum a) #:key)) tmp-1))
+                                 (apply (lambda (a b) (key b req (reverse ropt) '())) tmp-1)
+                                 (let ((tmp-1 ($sc-dispatch tmp '(any any))))
+                                   (if (and tmp-1
+                                            (apply (lambda (a b) (eq? (syntax->datum a) #:rest)) tmp-1))
+                                     (apply (lambda (a b) (rest b req (reverse ropt) '())) tmp-1)
+                                     (let ((tmp-1 (list tmp)))
+                                       (if (and tmp-1 (apply (lambda (r) (id? r)) tmp-1))
+                                         (apply (lambda (r) (rest r req (reverse ropt) '())) tmp-1)
+                                         (let ((else tmp))
+                                           (syntax-violation
+                                             'lambda*
+                                             "invalid optional argument list"
+                                             orig-args
+                                             args))))))))))))))))
+          (key (lambda (args req opt rkey)
+                 (let* ((tmp args) (tmp-1 ($sc-dispatch tmp '())))
+                   (if tmp-1
+                     (apply (lambda () (check req opt #f (cons #f (reverse rkey)))) tmp-1)
+                     (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                       (if (and tmp-1 (apply (lambda (a b) (id? a)) tmp-1))
+                         (apply (lambda (a b)
+                                  (let* ((tmp (symbol->keyword (syntax->datum a))) (k tmp))
+                                    (key b req opt (cons (cons k (cons a '(#f))) rkey))))
+                                tmp-1)
+                         (let ((tmp-1 ($sc-dispatch tmp '((any any) . any))))
+                           (if (and tmp-1 (apply (lambda (a init b) (id? a)) tmp-1))
+                             (apply (lambda (a init b)
+                                      (let* ((tmp (symbol->keyword (syntax->datum a))) (k tmp))
+                                        (key b req opt (cons (list k a init) rkey))))
+                                    tmp-1)
+                             (let ((tmp-1 ($sc-dispatch tmp '((any any any) . any))))
+                               (if (and tmp-1
+                                        (apply (lambda (a init k b) (and (id? a) (keyword? (syntax->datum k))))
+                                               tmp-1))
+                                 (apply (lambda (a init k b) (key b req opt (cons (list k a init) rkey)))
+                                        tmp-1)
+                                 (let ((tmp-1 ($sc-dispatch tmp '(any))))
+                                   (if (and tmp-1
+                                            (apply (lambda (aok) (eq? (syntax->datum aok) #:allow-other-keys))
+                                                   tmp-1))
+                                     (apply (lambda (aok) (check req opt #f (cons #t (reverse rkey))))
+                                            tmp-1)
+                                     (let ((tmp-1 ($sc-dispatch tmp '(any any any))))
+                                       (if (and tmp-1
+                                                (apply (lambda (aok a b)
+                                                         (and (eq? (syntax->datum aok) #:allow-other-keys)
+                                                              (eq? (syntax->datum a) #:rest)))
+                                                       tmp-1))
+                                         (apply (lambda (aok a b) (rest b req opt (cons #t (reverse rkey))))
+                                                tmp-1)
+                                         (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                                           (if (and tmp-1
+                                                    (apply (lambda (aok r)
+                                                             (and (eq? (syntax->datum aok) #:allow-other-keys) (id? r)))
+                                                           tmp-1))
+                                             (apply (lambda (aok r) (rest r req opt (cons #t (reverse rkey))))
+                                                    tmp-1)
+                                             (let ((tmp-1 ($sc-dispatch tmp '(any any))))
+                                               (if (and tmp-1
+                                                        (apply (lambda (a b) (eq? (syntax->datum a) #:rest)) tmp-1))
+                                                 (apply (lambda (a b) (rest b req opt (cons #f (reverse rkey))))
+                                                        tmp-1)
+                                                 (let ((tmp-1 (list tmp)))
+                                                   (if (and tmp-1 (apply (lambda (r) (id? r)) tmp-1))
+                                                     (apply (lambda (r) (rest r req opt (cons #f (reverse rkey))))
+                                                            tmp-1)
+                                                     (let ((else tmp))
+                                                       (syntax-violation
+                                                         'lambda*
+                                                         "invalid keyword argument list"
+                                                         orig-args
+                                                         args))))))))))))))))))))))
+          (rest (lambda (args req opt kw)
+                  (let* ((tmp-1 args) (tmp (list tmp-1)))
+                    (if (and tmp (apply (lambda (r) (id? r)) tmp))
+                      (apply (lambda (r) (check req opt r kw)) tmp)
+                      (let ((else tmp-1))
+                        (syntax-violation 'lambda* "invalid rest argument" orig-args args))))))
+          (check (lambda (req opt rest kw)
+                   (if (distinct-bound-ids?
+                         (append
+                           req
+                           (map car opt)
+                           (if rest (list rest) '())
+                           (if (pair? kw) (map cadr (cdr kw)) '())))
+                     (values req opt rest kw)
+                     (syntax-violation
+                       'lambda*
+                       "duplicate identifier in argument list"
+                       orig-args)))))
+         (req orig-args '()))))
+   (expand-lambda-case
+     (lambda (e r w s mod get-formals clauses)
+       (letrec*
+         ((parse-req
+            (lambda (req opt rest kw 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)))
+                  (parse-opt
+                    (map syntax->datum req)
+                    opt
+                    rest
+                    kw
+                    body
+                    (reverse vars)
+                    r*
+                    w*
+                    '()
+                    '())))))
+          (parse-opt
+            (lambda (req opt rest kw body vars r* w* out inits)
+              (cond ((pair? opt)
+                     (let* ((tmp-1 (car opt)) (tmp ($sc-dispatch tmp-1 '(any any))))
+                       (if tmp
+                         (apply (lambda (id i)
+                                  (let* ((v (gen-var id))
+                                         (l (gen-labels (list v)))
+                                         (r** (extend-var-env l (list v) r*))
+                                         (w** (make-binding-wrap (list id) l w*)))
+                                    (parse-opt
+                                      req
+                                      (cdr opt)
+                                      rest
+                                      kw
+                                      body
+                                      (cons v vars)
+                                      r**
+                                      w**
+                                      (cons (syntax->datum id) out)
+                                      (cons (expand i r* w* mod) inits))))
+                                tmp)
+                         (syntax-violation
+                           #f
+                           "source expression failed to match any pattern"
+                           tmp-1))))
+                    (rest
+                     (let* ((v (gen-var rest))
+                            (l (gen-labels (list v)))
+                            (r* (extend-var-env l (list v) r*))
+                            (w* (make-binding-wrap (list rest) l w*)))
+                       (parse-kw
+                         req
+                         (and (pair? out) (reverse out))
+                         (syntax->datum rest)
+                         (if (pair? kw) (cdr kw) kw)
+                         body
+                         (cons v vars)
+                         r*
+                         w*
+                         (and (pair? kw) (car kw))
+                         '()
+                         inits)))
+                    (else
+                     (parse-kw
+                       req
+                       (and (pair? out) (reverse out))
+                       #f
+                       (if (pair? kw) (cdr kw) kw)
+                       body
+                       vars
+                       r*
+                       w*
+                       (and (pair? kw) (car kw))
+                       '()
+                       inits)))))
+          (parse-kw
+            (lambda (req opt rest kw body vars r* w* aok out inits)
+              (if (pair? kw)
+                (let* ((tmp-1 (car kw)) (tmp ($sc-dispatch tmp-1 '(any any any))))
+                  (if tmp
+                    (apply (lambda (k id i)
+                             (let* ((v (gen-var id))
+                                    (l (gen-labels (list v)))
+                                    (r** (extend-var-env l (list v) r*))
+                                    (w** (make-binding-wrap (list id) l w*)))
+                               (parse-kw
+                                 req
+                                 opt
+                                 rest
+                                 (cdr kw)
+                                 body
+                                 (cons v vars)
+                                 r**
+                                 w**
+                                 aok
+                                 (cons (list (syntax->datum k) (syntax->datum id) v) out)
+                                 (cons (expand i r* w* mod) inits))))
+                           tmp)
+                    (syntax-violation
+                      #f
+                      "source expression failed to match any pattern"
+                      tmp-1)))
+                (parse-body
+                  req
+                  opt
+                  rest
+                  (and (or aok (pair? out)) (cons aok (reverse out)))
+                  body
+                  (reverse vars)
+                  r*
+                  w*
+                  (reverse inits)
+                  '()))))
+          (parse-body
+            (lambda (req opt rest kw body vars r* w* inits meta)
+              (let* ((tmp body) (tmp-1 ($sc-dispatch tmp '(any any . each-any))))
+                (if (and tmp-1
+                         (apply (lambda (docstring e1 e2) (string? (syntax->datum docstring)))
+                                tmp-1))
+                  (apply (lambda (docstring e1 e2)
+                           (parse-body
+                             req
+                             opt
+                             rest
+                             kw
+                             (cons e1 e2)
+                             vars
+                             r*
+                             w*
+                             inits
+                             (append meta (list (cons 'documentation (syntax->datum docstring))))))
+                         tmp-1)
+                  (let ((tmp-1 ($sc-dispatch tmp '(#(vector #(each (any . any))) any . each-any))))
+                    (if tmp-1
+                      (apply (lambda (k v e1 e2)
+                               (parse-body
+                                 req
+                                 opt
+                                 rest
+                                 kw
+                                 (cons e1 e2)
+                                 vars
+                                 r*
+                                 w*
+                                 inits
+                                 (append meta (syntax->datum (map cons k v)))))
+                             tmp-1)
+                      (let ((tmp-1 ($sc-dispatch tmp '(any . each-any))))
+                        (if tmp-1
+                          (apply (lambda (e1 e2)
+                                   (values
+                                     meta
+                                     req
+                                     opt
+                                     rest
+                                     kw
+                                     inits
+                                     vars
+                                     (expand-body (cons e1 e2) (source-wrap e w s mod) r* w* mod)))
+                                 tmp-1)
+                          (syntax-violation
+                            #f
+                            "source expression failed to match any pattern"
+                            tmp))))))))))
+         (let* ((tmp clauses) (tmp-1 ($sc-dispatch tmp '())))
+           (if tmp-1
+             (apply (lambda () (values '() #f)) tmp-1)
+             (let ((tmp-1 ($sc-dispatch
+                            tmp
+                            '((any any . each-any) . #(each (any any . each-any))))))
+               (if tmp-1
+                 (apply (lambda (args e1 e2 args* e1* e2*)
+                          (call-with-values
+                            (lambda () (get-formals args))
+                            (lambda (req opt rest kw)
+                              (call-with-values
+                                (lambda () (parse-req req opt rest kw (cons e1 e2)))
+                                (lambda (meta req opt rest kw inits vars body)
+                                  (call-with-values
+                                    (lambda ()
+                                      (expand-lambda-case
+                                        e
+                                        r
+                                        w
+                                        s
+                                        mod
+                                        get-formals
+                                        (map (lambda (tmp-2 tmp-1 tmp) (cons tmp (cons tmp-1 tmp-2)))
+                                             e2*
+                                             e1*
+                                             args*)))
+                                    (lambda (meta* else*)
+                                      (values
+                                        (append meta meta*)
+                                        (build-lambda-case s req opt rest kw inits vars body else*)))))))))
+                        tmp-1)
+                 (syntax-violation
+                   #f
+                   "source expression failed to match any pattern"
+                   tmp))))))))
+   (strip (lambda (x w)
+            (if (memq 'top (car w))
+              x
+              (let f ((x x))
+                (cond ((syntax-object? x)
+                       (strip (syntax-object-expression x) (syntax-object-wrap x)))
+                      ((pair? x)
+                       (let ((a (f (car x))) (d (f (cdr x))))
+                         (if (and (eq? a (car x)) (eq? d (cdr x))) x (cons a d))))
+                      ((vector? x)
+                       (let* ((old (vector->list x)) (new (map f old)))
+                         (let lp ((l1 old) (l2 new))
+                           (cond ((null? l1) x)
+                                 ((eq? (car l1) (car l2)) (lp (cdr l1) (cdr l2)))
+                                 (else (list->vector new))))))
+                      (else x))))))
+   (gen-var
+     (lambda (id)
+       (let ((id (if (syntax-object? id) (syntax-object-expression id) id)))
+         (gensym (string-append (symbol->string id) "-")))))
+   (lambda-var-list
+     (lambda (vars)
+       (let lvl ((vars vars) (ls '()) (w '(())))
+         (cond ((pair? vars) (lvl (cdr vars) (cons (wrap (car vars) w #f) ls) w))
+               ((id? vars) (cons (wrap vars w #f) ls))
+               ((null? vars) ls)
+               ((syntax-object? vars)
+                (lvl (syntax-object-expression vars)
+                     ls
+                     (join-wraps w (syntax-object-wrap vars))))
+               (else (cons vars ls)))))))
+  (global-extend 'local-syntax 'letrec-syntax #t)
+  (global-extend 'local-syntax 'let-syntax #f)
+  (global-extend
+    'core
+    'syntax-parameterize
+    (lambda (e r w s mod)
+      (let* ((tmp e)
+             (tmp ($sc-dispatch tmp '(_ #(each (any any)) any . each-any))))
+        (if (and tmp (apply (lambda (var val e1 e2) (valid-bound-ids? var)) tmp))
+          (apply (lambda (var val e1 e2)
+                   (let ((names (map (lambda (x) (id-var-name x w)) var)))
+                     (for-each
+                       (lambda (id n)
+                         (let ((key (car (lookup n r mod))))
+                           (if (memv key '(displaced-lexical))
+                             (syntax-violation
+                               'syntax-parameterize
+                               "identifier out of context"
+                               e
+                               (source-wrap id w s mod)))))
+                       var
+                       names)
+                     (expand-body
+                       (cons e1 e2)
+                       (source-wrap e w s mod)
+                       (extend-env
+                         names
+                         (let ((trans-r (macros-only-env r)))
+                           (map (lambda (x)
+                                  (cons 'macro (eval-local-transformer (expand x trans-r w mod) mod)))
+                                val))
+                         r)
+                       w
+                       mod)))
+                 tmp)
+          (syntax-violation
+            'syntax-parameterize
+            "bad syntax"
+            (source-wrap e w s mod))))))
+  (global-extend
+    'core
+    'quote
+    (lambda (e r w s mod)
+      (let* ((tmp e) (tmp ($sc-dispatch tmp '(_ any))))
+        (if tmp
+          (apply (lambda (e) (build-data s (strip e w))) tmp)
+          (syntax-violation 'quote "bad syntax" (source-wrap e w s mod))))))
+  (global-extend
+    'core
+    'syntax
+    (letrec*
+      ((gen-syntax
+         (lambda (src e r maps ellipsis? mod)
+           (if (id? e)
+             (let* ((label (id-var-name e '(()))) (b (lookup label r mod)))
+               (cond ((eq? (car b) 'syntax)
+                      (call-with-values
+                        (lambda ()
+                          (let ((var.lev (cdr b)))
+                            (gen-ref src (car var.lev) (cdr var.lev) maps)))
+                        (lambda (var maps) (values (list 'ref var) maps))))
+                     ((ellipsis? e) (syntax-violation 'syntax "misplaced ellipsis" src))
+                     (else (values (list 'quote e) maps))))
+             (let* ((tmp e) (tmp-1 ($sc-dispatch tmp '(any any))))
+               (if (and tmp-1 (apply (lambda (dots e) (ellipsis? dots)) tmp-1))
+                 (apply (lambda (dots e) (gen-syntax src e r maps (lambda (x) #f) mod))
+                        tmp-1)
+                 (let ((tmp-1 ($sc-dispatch tmp '(any any . any))))
+                   (if (and tmp-1 (apply (lambda (x dots y) (ellipsis? dots)) tmp-1))
+                     (apply (lambda (x dots y)
+                              (let f ((y y)
+                                      (k (lambda (maps)
+                                           (call-with-values
+                                             (lambda () (gen-syntax src x r (cons '() maps) ellipsis? mod))
+                                             (lambda (x maps)
+                                               (if (null? (car maps))
+                                                 (syntax-violation 'syntax "extra ellipsis" src)
+                                                 (values (gen-map x (car maps)) (cdr maps))))))))
+                                (let* ((tmp y) (tmp ($sc-dispatch tmp '(any . any))))
+                                  (if (and tmp (apply (lambda (dots y) (ellipsis? dots)) tmp))
+                                    (apply (lambda (dots y)
+                                             (f y
+                                                (lambda (maps)
+                                                  (call-with-values
+                                                    (lambda () (k (cons '() maps)))
+                                                    (lambda (x maps)
+                                                      (if (null? (car maps))
+                                                        (syntax-violation 'syntax "extra ellipsis" src)
+                                                        (values (gen-mappend x (car maps)) (cdr maps))))))))
+                                           tmp)
+                                    (call-with-values
+                                      (lambda () (gen-syntax src y r maps ellipsis? mod))
+                                      (lambda (y maps)
+                                        (call-with-values
+                                          (lambda () (k maps))
+                                          (lambda (x maps) (values (gen-append x y) maps)))))))))
+                            tmp-1)
+                     (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                       (if tmp-1
+                         (apply (lambda (x y)
+                                  (call-with-values
+                                    (lambda () (gen-syntax src x r maps ellipsis? mod))
+                                    (lambda (x maps)
+                                      (call-with-values
+                                        (lambda () (gen-syntax src y r maps ellipsis? mod))
+                                        (lambda (y maps) (values (gen-cons x y) maps))))))
+                                tmp-1)
+                         (let ((tmp ($sc-dispatch tmp '#(vector (any . each-any)))))
+                           (if tmp
+                             (apply (lambda (e1 e2)
+                                      (call-with-values
+                                        (lambda () (gen-syntax src (cons e1 e2) r maps ellipsis? mod))
+                                        (lambda (e maps) (values (gen-vector e) maps))))
+                                    tmp)
+                             (values (list 'quote e) maps))))))))))))
+       (gen-ref
+         (lambda (src var level maps)
+           (cond ((= level 0) (values var maps))
+                 ((null? maps) (syntax-violation 'syntax "missing ellipsis" src))
+                 (else
+                  (call-with-values
+                    (lambda () (gen-ref src var (- level 1) (cdr maps)))
+                    (lambda (outer-var outer-maps)
+                      (let ((b (assq outer-var (car maps))))
+                        (if b
+                          (values (cdr b) maps)
+                          (let ((inner-var (gen-var 'tmp)))
+                            (values
+                              inner-var
+                              (cons (cons (cons outer-var inner-var) (car maps)) outer-maps)))))))))))
+       (gen-mappend
+         (lambda (e map-env)
+           (list 'apply '(primitive append) (gen-map e map-env))))
+       (gen-map
+         (lambda (e map-env)
+           (let ((formals (map cdr map-env))
+                 (actuals (map (lambda (x) (list 'ref (car x))) map-env)))
+             (cond ((eq? (car e) 'ref) (car actuals))
+                   ((and-map
+                      (lambda (x) (and (eq? (car x) 'ref) (memq (cadr x) formals)))
+                      (cdr e))
+                    (cons 'map
+                          (cons (list 'primitive (car e))
+                                (map (let ((r (map cons formals actuals)))
+                                       (lambda (x) (cdr (assq (cadr x) r))))
+                                     (cdr e)))))
+                   (else (cons 'map (cons (list 'lambda formals e) actuals)))))))
+       (gen-cons
+         (lambda (x y)
+           (let ((key (car y)))
+             (cond ((memv key '(quote))
+                    (cond ((eq? (car x) 'quote) (list 'quote (cons (cadr x) (cadr y))))
+                          ((eq? (cadr y) '()) (list 'list x))
+                          (else (list 'cons x y))))
+                   ((memv key '(list)) (cons 'list (cons x (cdr y))))
+                   (else (list 'cons x y))))))
+       (gen-append (lambda (x y) (if (equal? y ''()) x (list 'append x y))))
+       (gen-vector
+         (lambda (x)
+           (cond ((eq? (car x) 'list) (cons 'vector (cdr x)))
+                 ((eq? (car x) 'quote) (list 'quote (list->vector (cadr x))))
+                 (else (list 'list->vector x)))))
+       (regen (lambda (x)
+                (let ((key (car x)))
+                  (cond ((memv key '(ref))
+                         (build-lexical-reference 'value #f (cadr x) (cadr x)))
+                        ((memv key '(primitive)) (build-primref #f (cadr x)))
+                        ((memv key '(quote)) (build-data #f (cadr x)))
+                        ((memv key '(lambda))
+                         (if (list? (cadr x))
+                           (build-simple-lambda #f (cadr x) #f (cadr x) '() (regen (caddr x)))
+                           (error "how did we get here" x)))
+                        (else
+                         (build-application #f (build-primref #f (car x)) (map regen (cdr x)))))))))
+      (lambda (e r w s mod)
+        (let* ((e (source-wrap e w s mod))
+               (tmp e)
+               (tmp ($sc-dispatch tmp '(_ any))))
+          (if tmp
+            (apply (lambda (x)
+                     (call-with-values
+                       (lambda () (gen-syntax e x r '() ellipsis? mod))
+                       (lambda (e maps) (regen e))))
+                   tmp)
+            (syntax-violation 'syntax "bad `syntax' form" e))))))
+  (global-extend
+    'core
+    'lambda
+    (lambda (e r w s mod)
+      (let* ((tmp e) (tmp ($sc-dispatch tmp '(_ any any . each-any))))
+        (if tmp
+          (apply (lambda (args e1 e2)
+                   (call-with-values
+                     (lambda () (lambda-formals args))
+                     (lambda (req opt rest kw)
+                       (let lp ((body (cons e1 e2)) (meta '()))
+                         (let* ((tmp-1 body) (tmp ($sc-dispatch tmp-1 '(any any . each-any))))
+                           (if (and tmp
+                                    (apply (lambda (docstring e1 e2) (string? (syntax->datum docstring)))
+                                           tmp))
+                             (apply (lambda (docstring e1 e2)
+                                      (lp (cons e1 e2)
+                                          (append meta (list (cons 'documentation (syntax->datum docstring))))))
+                                    tmp)
+                             (let ((tmp ($sc-dispatch tmp-1 '(#(vector #(each (any . any))) any . each-any))))
+                               (if tmp
+                                 (apply (lambda (k v e1 e2)
+                                          (lp (cons e1 e2) (append meta (syntax->datum (map cons k v)))))
+                                        tmp)
+                                 (expand-simple-lambda e r w s mod req rest meta body)))))))))
+                 tmp)
+          (syntax-violation 'lambda "bad lambda" e)))))
+  (global-extend
+    'core
+    'lambda*
+    (lambda (e r w s mod)
+      (let* ((tmp e) (tmp ($sc-dispatch tmp '(_ any any . each-any))))
+        (if tmp
+          (apply (lambda (args e1 e2)
+                   (call-with-values
+                     (lambda ()
+                       (expand-lambda-case
+                         e
+                         r
+                         w
+                         s
+                         mod
+                         lambda*-formals
+                         (list (cons args (cons e1 e2)))))
+                     (lambda (meta lcase) (build-case-lambda s meta lcase))))
+                 tmp)
+          (syntax-violation 'lambda "bad lambda*" e)))))
+  (global-extend
+    'core
+    'case-lambda
+    (lambda (e r w s mod)
+      (letrec*
+        ((build-it
+           (lambda (meta clauses)
+             (call-with-values
+               (lambda () (expand-lambda-case e r w s mod lambda-formals clauses))
+               (lambda (meta* lcase)
+                 (build-case-lambda s (append meta meta*) lcase))))))
+        (let* ((tmp-1 e)
+               (tmp ($sc-dispatch tmp-1 '(_ . #(each (any any . each-any))))))
+          (if tmp
+            (apply (lambda (args e1 e2)
+                     (build-it
+                       '()
+                       (map (lambda (tmp-2 tmp-1 tmp) (cons tmp (cons tmp-1 tmp-2)))
+                            e2
+                            e1
+                            args)))
+                   tmp)
+            (let ((tmp ($sc-dispatch tmp-1 '(_ any . #(each (any any . each-any))))))
+              (if (and tmp
+                       (apply (lambda (docstring args e1 e2) (string? (syntax->datum docstring)))
+                              tmp))
+                (apply (lambda (docstring args e1 e2)
+                         (build-it
+                           (list (cons 'documentation (syntax->datum docstring)))
+                           (map (lambda (tmp-2 tmp-1 tmp) (cons tmp (cons tmp-1 tmp-2)))
+                                e2
+                                e1
+                                args)))
+                       tmp)
+                (syntax-violation 'case-lambda "bad case-lambda" e))))))))
+  (global-extend
+    'core
+    'case-lambda*
+    (lambda (e r w s mod)
+      (letrec*
+        ((build-it
+           (lambda (meta clauses)
+             (call-with-values
+               (lambda () (expand-lambda-case e r w s mod lambda*-formals clauses))
+               (lambda (meta* lcase)
+                 (build-case-lambda s (append meta meta*) lcase))))))
+        (let* ((tmp-1 e)
+               (tmp ($sc-dispatch tmp-1 '(_ . #(each (any any . each-any))))))
+          (if tmp
+            (apply (lambda (args e1 e2)
+                     (build-it
+                       '()
+                       (map (lambda (tmp-2 tmp-1 tmp) (cons tmp (cons tmp-1 tmp-2)))
+                            e2
+                            e1
+                            args)))
+                   tmp)
+            (let ((tmp ($sc-dispatch tmp-1 '(_ any . #(each (any any . each-any))))))
+              (if (and tmp
+                       (apply (lambda (docstring args e1 e2) (string? (syntax->datum docstring)))
+                              tmp))
+                (apply (lambda (docstring args e1 e2)
+                         (build-it
+                           (list (cons 'documentation (syntax->datum docstring)))
+                           (map (lambda (tmp-2 tmp-1 tmp) (cons tmp (cons tmp-1 tmp-2)))
+                                e2
+                                e1
+                                args)))
+                       tmp)
+                (syntax-violation 'case-lambda "bad case-lambda*" e))))))))
+  (global-extend
+    'core
+    'let
+    (letrec*
+      ((expand-let
+         (lambda (e r w s mod constructor ids vals exps)
+           (if (not (valid-bound-ids? ids))
+             (syntax-violation 'let "duplicate bound variable" e)
+             (let ((labels (gen-labels ids)) (new-vars (map gen-var ids)))
+               (let ((nw (make-binding-wrap ids labels w))
+                     (nr (extend-var-env labels new-vars r)))
+                 (constructor
+                   s
+                   (map syntax->datum ids)
+                   new-vars
+                   (map (lambda (x) (expand x r w mod)) vals)
+                   (expand-body exps (source-wrap e nw s mod) nr nw mod))))))))
+      (lambda (e r w s mod)
+        (let* ((tmp-1 e)
+               (tmp ($sc-dispatch tmp-1 '(_ #(each (any any)) any . each-any))))
+          (if (and tmp (apply (lambda (id val e1 e2) (and-map id? id)) tmp))
+            (apply (lambda (id val e1 e2)
+                     (expand-let e r w s mod build-let id val (cons e1 e2)))
+                   tmp)
+            (let ((tmp ($sc-dispatch tmp-1 '(_ any #(each (any any)) any . each-any))))
+              (if (and tmp
+                       (apply (lambda (f id val e1 e2) (and (id? f) (and-map id? id))) tmp))
+                (apply (lambda (f id val e1 e2)
+                         (expand-let e r w s mod build-named-let (cons f id) val (cons e1 e2)))
+                       tmp)
+                (syntax-violation 'let "bad let" (source-wrap e w s mod)))))))))
+  (global-extend
+    'core
+    'letrec
+    (lambda (e r w s mod)
+      (let* ((tmp e)
+             (tmp ($sc-dispatch tmp '(_ #(each (any any)) any . each-any))))
+        (if (and tmp (apply (lambda (id val e1 e2) (and-map id? id)) tmp))
+          (apply (lambda (id val e1 e2)
+                   (let ((ids id))
+                     (if (not (valid-bound-ids? ids))
+                       (syntax-violation 'letrec "duplicate bound variable" e)
+                       (let ((labels (gen-labels ids)) (new-vars (map gen-var ids)))
+                         (let ((w (make-binding-wrap ids labels w))
+                               (r (extend-var-env labels new-vars r)))
+                           (build-letrec
+                             s
+                             #f
+                             (map syntax->datum ids)
+                             new-vars
+                             (map (lambda (x) (expand x r w mod)) val)
+                             (expand-body (cons e1 e2) (source-wrap e w s mod) r w mod)))))))
+                 tmp)
+          (syntax-violation 'letrec "bad letrec" (source-wrap e w s mod))))))
+  (global-extend
+    'core
+    'letrec*
+    (lambda (e r w s mod)
+      (let* ((tmp e)
+             (tmp ($sc-dispatch tmp '(_ #(each (any any)) any . each-any))))
+        (if (and tmp (apply (lambda (id val e1 e2) (and-map id? id)) tmp))
+          (apply (lambda (id val e1 e2)
+                   (let ((ids id))
+                     (if (not (valid-bound-ids? ids))
+                       (syntax-violation 'letrec* "duplicate bound variable" e)
+                       (let ((labels (gen-labels ids)) (new-vars (map gen-var ids)))
+                         (let ((w (make-binding-wrap ids labels w))
+                               (r (extend-var-env labels new-vars r)))
+                           (build-letrec
+                             s
+                             #t
+                             (map syntax->datum ids)
+                             new-vars
+                             (map (lambda (x) (expand x r w mod)) val)
+                             (expand-body (cons e1 e2) (source-wrap e w s mod) r w mod)))))))
+                 tmp)
+          (syntax-violation 'letrec* "bad letrec*" (source-wrap e w s mod))))))
+  (global-extend
+    'core
+    'set!
+    (lambda (e r w s mod)
+      (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ any any))))
+        (if (and tmp (apply (lambda (id val) (id? id)) tmp))
+          (apply (lambda (id val)
+                   (let ((n (id-var-name id w))
+                         (id-mod (if (syntax-object? id) (syntax-object-module id) mod)))
+                     (let* ((b (lookup n r id-mod)) (key (car b)))
+                       (cond ((memv key '(lexical))
+                              (build-lexical-assignment
+                                s
+                                (syntax->datum id)
+                                (cdr b)
+                                (expand val r w mod)))
+                             ((memv key '(global))
+                              (build-global-assignment s n (expand val r w mod) id-mod))
+                             ((memv key '(macro))
+                              (let ((p (cdr b)))
+                                (if (procedure-property p 'variable-transformer)
+                                  (expand (expand-macro p e r w s #f mod) r '(()) mod)
+                                  (syntax-violation
+                                    'set!
+                                    "not a variable transformer"
+                                    (wrap e w mod)
+                                    (wrap id w id-mod)))))
+                             ((memv key '(displaced-lexical))
+                              (syntax-violation 'set! "identifier out of context" (wrap id w mod)))
+                             (else (syntax-violation 'set! "bad set!" (source-wrap e w s mod)))))))
+                 tmp)
+          (let ((tmp ($sc-dispatch tmp-1 '(_ (any . each-any) any))))
+            (if tmp
+              (apply (lambda (head tail val)
+                       (call-with-values
+                         (lambda () (syntax-type head r '(()) #f #f mod #t))
+                         (lambda (type value formform ee ww ss modmod)
+                           (let ((key type))
+                             (if (memv key '(module-ref))
+                               (let ((val (expand val r w mod)))
+                                 (call-with-values
+                                   (lambda () (value (cons head tail) r w))
+                                   (lambda (e r w s* mod)
+                                     (let* ((tmp-1 e) (tmp (list tmp-1)))
+                                       (if (and tmp (apply (lambda (e) (id? e)) tmp))
+                                         (apply (lambda (e) (build-global-assignment s (syntax->datum e) val mod))
+                                                tmp)
+                                         (syntax-violation
+                                           #f
+                                           "source expression failed to match any pattern"
+                                           tmp-1))))))
+                               (build-application
+                                 s
+                                 (expand
+                                   (list '#(syntax-object setter ((top)) (hygiene guile)) head)
+                                   r
+                                   w
+                                   mod)
+                                 (map (lambda (e) (expand e r w mod)) (append tail (list val)))))))))
+                     tmp)
+              (syntax-violation 'set! "bad set!" (source-wrap e w s mod))))))))
+  (global-extend
+    'module-ref
+    '@
+    (lambda (e r w)
+      (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ each-any any))))
+        (if (and tmp
+                 (apply (lambda (mod id) (and (and-map id? mod) (id? id))) tmp))
+          (apply (lambda (mod id)
+                   (values
+                     (syntax->datum id)
+                     r
+                     '((top))
+                     #f
+                     (syntax->datum
+                       (cons '#(syntax-object public ((top)) (hygiene guile)) mod))))
+                 tmp)
+          (syntax-violation
+            #f
+            "source expression failed to match any pattern"
+            tmp-1)))))
+  (global-extend
+    'module-ref
+    '@@
+    (lambda (e r w)
+      (letrec*
+        ((remodulate
+           (lambda (x mod)
+             (cond ((pair? x) (cons (remodulate (car x) mod) (remodulate (cdr x) mod)))
+                   ((syntax-object? x)
+                    (make-syntax-object
+                      (remodulate (syntax-object-expression x) mod)
+                      (syntax-object-wrap x)
+                      mod))
+                   ((vector? x)
+                    (let* ((n (vector-length x)) (v (make-vector n)))
+                      (let loop ((i 0))
+                        (if (= i n)
+                          (begin (if #f #f) v)
+                          (begin
+                            (vector-set! v i (remodulate (vector-ref x i) mod))
+                            (loop (+ i 1)))))))
+                   (else x)))))
+        (let* ((tmp-1 e) (tmp ($sc-dispatch tmp-1 '(_ each-any any))))
+          (if (and tmp
+                   (apply (lambda (mod id) (and (and-map id? mod) (id? id))) tmp))
+            (apply (lambda (mod id)
+                     (values
+                       (syntax->datum id)
+                       r
+                       '((top))
+                       #f
+                       (syntax->datum
+                         (cons '#(syntax-object private ((top)) (hygiene guile)) mod))))
+                   tmp)
+            (let ((tmp ($sc-dispatch
+                         tmp-1
+                         '(_ #(free-id #(syntax-object @@ ((top)) (hygiene guile)))
+                             each-any
+                             any))))
+              (if (and tmp (apply (lambda (mod exp) (and-map id? mod)) tmp))
+                (apply (lambda (mod exp)
+                         (let ((mod (syntax->datum
+                                      (cons '#(syntax-object private ((top)) (hygiene guile)) mod))))
+                           (values (remodulate exp mod) r w (source-annotation exp) mod)))
+                       tmp)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp-1))))))))
+  (global-extend
+    'core
+    'if
+    (lambda (e r w s mod)
+      (let* ((tmp e) (tmp-1 ($sc-dispatch tmp '(_ any any))))
+        (if tmp-1
+          (apply (lambda (test then)
+                   (build-conditional
+                     s
+                     (expand test r w mod)
+                     (expand then r w mod)
+                     (build-void #f)))
+                 tmp-1)
+          (let ((tmp-1 ($sc-dispatch tmp '(_ any any any))))
+            (if tmp-1
+              (apply (lambda (test then else)
+                       (build-conditional
+                         s
+                         (expand test r w mod)
+                         (expand then r w mod)
+                         (expand else r w mod)))
+                     tmp-1)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp)))))))
+  (global-extend
+    'core
+    'with-fluids
+    (lambda (e r w s mod)
+      (let* ((tmp-1 e)
+             (tmp ($sc-dispatch tmp-1 '(_ #(each (any any)) any . each-any))))
+        (if tmp
+          (apply (lambda (fluid val b b*)
+                   (build-dynlet
+                     s
+                     (map (lambda (x) (expand x r w mod)) fluid)
+                     (map (lambda (x) (expand x r w mod)) val)
+                     (expand-body (cons b b*) (source-wrap e w s mod) r w mod)))
+                 tmp)
+          (syntax-violation
+            #f
+            "source expression failed to match any pattern"
+            tmp-1)))))
+  (global-extend 'begin 'begin '())
+  (global-extend 'define 'define '())
+  (global-extend 'define-syntax 'define-syntax '())
+  (global-extend 'define-syntax-parameter 'define-syntax-parameter '())
+  (global-extend 'eval-when 'eval-when '())
+  (global-extend
+    'core
+    'syntax-case
+    (letrec*
+      ((convert-pattern
+         (lambda (pattern keys)
+           (letrec*
+             ((cvt* (lambda (p* n ids)
+                      (if (not (pair? p*))
+                        (cvt p* n ids)
+                        (call-with-values
+                          (lambda () (cvt* (cdr p*) n ids))
+                          (lambda (y ids)
+                            (call-with-values
+                              (lambda () (cvt (car p*) n ids))
+                              (lambda (x ids) (values (cons x y) ids))))))))
+              (v-reverse
+                (lambda (x)
+                  (let loop ((r '()) (x x))
+                    (if (not (pair? x)) (values r x) (loop (cons (car x) r) (cdr x))))))
+              (cvt (lambda (p n ids)
+                     (if (id? p)
+                       (cond ((bound-id-member? p keys) (values (vector 'free-id p) ids))
+                             ((free-id=? p '#(syntax-object _ ((top)) (hygiene guile)))
+                              (values '_ ids))
+                             (else (values 'any (cons (cons p n) ids))))
+                       (let* ((tmp p) (tmp-1 ($sc-dispatch tmp '(any any))))
+                         (if (and tmp-1 (apply (lambda (x dots) (ellipsis? dots)) tmp-1))
+                           (apply (lambda (x dots)
+                                    (call-with-values
+                                      (lambda () (cvt x (+ n 1) ids))
+                                      (lambda (p ids)
+                                        (values (if (eq? p 'any) 'each-any (vector 'each p)) ids))))
+                                  tmp-1)
+                           (let ((tmp-1 ($sc-dispatch tmp '(any any . any))))
+                             (if (and tmp-1 (apply (lambda (x dots ys) (ellipsis? dots)) tmp-1))
+                               (apply (lambda (x dots ys)
+                                        (call-with-values
+                                          (lambda () (cvt* ys n ids))
+                                          (lambda (ys ids)
+                                            (call-with-values
+                                              (lambda () (cvt x (+ n 1) ids))
+                                              (lambda (x ids)
+                                                (call-with-values
+                                                  (lambda () (v-reverse ys))
+                                                  (lambda (ys e) (values (vector 'each+ x ys e) ids))))))))
+                                      tmp-1)
+                               (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                                 (if tmp-1
+                                   (apply (lambda (x y)
+                                            (call-with-values
+                                              (lambda () (cvt y n ids))
+                                              (lambda (y ids)
+                                                (call-with-values
+                                                  (lambda () (cvt x n ids))
+                                                  (lambda (x ids) (values (cons x y) ids))))))
+                                          tmp-1)
+                                   (let ((tmp-1 ($sc-dispatch tmp '())))
+                                     (if tmp-1
+                                       (apply (lambda () (values '() ids)) tmp-1)
+                                       (let ((tmp-1 ($sc-dispatch tmp '#(vector each-any))))
+                                         (if tmp-1
+                                           (apply (lambda (x)
+                                                    (call-with-values
+                                                      (lambda () (cvt x n ids))
+                                                      (lambda (p ids) (values (vector 'vector p) ids))))
+                                                  tmp-1)
+                                           (let ((x tmp)) (values (vector 'atom (strip p '(()))) ids))))))))))))))))
+             (cvt pattern 0 '()))))
+       (build-dispatch-call
+         (lambda (pvars exp y r mod)
+           (let ((ids (map car pvars)) (levels (map cdr pvars)))
+             (let ((labels (gen-labels ids)) (new-vars (map gen-var ids)))
+               (build-application
+                 #f
+                 (build-primref #f 'apply)
+                 (list (build-simple-lambda
+                         #f
+                         (map syntax->datum ids)
+                         #f
+                         new-vars
+                         '()
+                         (expand
+                           exp
+                           (extend-env
+                             labels
+                             (map (lambda (var level) (cons 'syntax (cons var level)))
+                                  new-vars
+                                  (map cdr pvars))
+                             r)
+                           (make-binding-wrap ids labels '(()))
+                           mod))
+                       y))))))
+       (gen-clause
+         (lambda (x keys clauses r pat fender exp mod)
+           (call-with-values
+             (lambda () (convert-pattern pat keys))
+             (lambda (p pvars)
+               (cond ((not (distinct-bound-ids? (map car pvars)))
+                      (syntax-violation 'syntax-case "duplicate pattern variable" pat))
+                     ((not (and-map (lambda (x) (not (ellipsis? (car x)))) pvars))
+                      (syntax-violation 'syntax-case "misplaced ellipsis" pat))
+                     (else
+                      (let ((y (gen-var 'tmp)))
+                        (build-application
+                          #f
+                          (build-simple-lambda
+                            #f
+                            (list 'tmp)
+                            #f
+                            (list y)
+                            '()
+                            (let ((y (build-lexical-reference 'value #f 'tmp y)))
+                              (build-conditional
+                                #f
+                                (let* ((tmp fender) (tmp ($sc-dispatch tmp '#(atom #t))))
+                                  (if tmp
+                                    (apply (lambda () y) tmp)
+                                    (build-conditional
+                                      #f
+                                      y
+                                      (build-dispatch-call pvars fender y r mod)
+                                      (build-data #f #f))))
+                                (build-dispatch-call pvars exp y r mod)
+                                (gen-syntax-case x keys clauses r mod))))
+                          (list (if (eq? p 'any)
+                                  (build-application #f (build-primref #f 'list) (list x))
+                                  (build-application
+                                    #f
+                                    (build-primref #f '$sc-dispatch)
+                                    (list x (build-data #f p)))))))))))))
+       (gen-syntax-case
+         (lambda (x keys clauses r mod)
+           (if (null? clauses)
+             (build-application
+               #f
+               (build-primref #f 'syntax-violation)
+               (list (build-data #f #f)
+                     (build-data #f "source expression failed to match any pattern")
+                     x))
+             (let* ((tmp-1 (car clauses)) (tmp ($sc-dispatch tmp-1 '(any any))))
+               (if tmp
+                 (apply (lambda (pat exp)
+                          (if (and (id? pat)
+                                   (and-map
+                                     (lambda (x) (not (free-id=? pat x)))
+                                     (cons '#(syntax-object ... ((top)) (hygiene guile)) keys)))
+                            (if (free-id=? pat '#(syntax-object _ ((top)) (hygiene guile)))
+                              (expand exp r '(()) mod)
+                              (let ((labels (list (gen-label))) (var (gen-var pat)))
+                                (build-application
+                                  #f
+                                  (build-simple-lambda
+                                    #f
+                                    (list (syntax->datum pat))
+                                    #f
+                                    (list var)
+                                    '()
+                                    (expand
+                                      exp
+                                      (extend-env labels (list (cons 'syntax (cons var 0))) r)
+                                      (make-binding-wrap (list pat) labels '(()))
+                                      mod))
+                                  (list x))))
+                            (gen-clause x keys (cdr clauses) r pat #t exp mod)))
+                        tmp)
+                 (let ((tmp ($sc-dispatch tmp-1 '(any any any))))
+                   (if tmp
+                     (apply (lambda (pat fender exp)
+                              (gen-clause x keys (cdr clauses) r pat fender exp mod))
+                            tmp)
+                     (syntax-violation 'syntax-case "invalid clause" (car clauses))))))))))
+      (lambda (e r w s mod)
+        (let* ((e (source-wrap e w s mod))
+               (tmp-1 e)
+               (tmp ($sc-dispatch tmp-1 '(_ any each-any . each-any))))
+          (if tmp
+            (apply (lambda (val key m)
+                     (if (and-map (lambda (x) (and (id? x) (not (ellipsis? x)))) key)
+                       (let ((x (gen-var 'tmp)))
+                         (build-application
+                           s
+                           (build-simple-lambda
+                             #f
+                             (list 'tmp)
+                             #f
+                             (list x)
+                             '()
+                             (gen-syntax-case
+                               (build-lexical-reference 'value #f 'tmp x)
+                               key
+                               m
+                               r
+                               mod))
+                           (list (expand val r '(()) mod))))
+                       (syntax-violation 'syntax-case "invalid literals list" e)))
+                   tmp)
+            (syntax-violation
+              #f
+              "source expression failed to match any pattern"
+              tmp-1))))))
+  (set! macroexpand
+    (lambda* (x #:optional (m 'e) (esew '(eval)))
+      (expand-top-sequence
+        (list x)
+        '()
+        '((top))
+        #f
+        m
+        esew
+        (cons 'hygiene (module-name (current-module))))))
+  (set! identifier? (lambda (x) (nonsymbol-id? x)))
+  (set! datum->syntax
+    (lambda (id datum)
+      (make-syntax-object
+        datum
+        (syntax-object-wrap id)
+        (syntax-object-module id))))
+  (set! syntax->datum (lambda (x) (strip x '(()))))
+  (set! syntax-source (lambda (x) (source-annotation x)))
+  (set! generate-temporaries
+    (lambda (ls)
+      (let ((x ls))
+        (if (not (list? x))
+          (syntax-violation 'generate-temporaries "invalid argument" x)))
+      (let ((mod (cons 'hygiene (module-name (current-module)))))
+        (map (lambda (x) (wrap (gensym "t-") '((top)) mod)) ls))))
+  (set! free-identifier=?
+    (lambda (x y)
+      (let ((x x))
+        (if (not (nonsymbol-id? x))
+          (syntax-violation 'free-identifier=? "invalid argument" x)))
+      (let ((x y))
+        (if (not (nonsymbol-id? x))
+          (syntax-violation 'free-identifier=? "invalid argument" x)))
+      (free-id=? x y)))
+  (set! bound-identifier=?
+    (lambda (x y)
+      (let ((x x))
+        (if (not (nonsymbol-id? x))
+          (syntax-violation 'bound-identifier=? "invalid argument" x)))
+      (let ((x y))
+        (if (not (nonsymbol-id? x))
+          (syntax-violation 'bound-identifier=? "invalid argument" x)))
+      (bound-id=? x y)))
+  (set! syntax-violation
+    (lambda* (who message form #:optional (subform #f))
+      (let ((x who))
+        (if (not (let ((x x)) (or (not x) (string? x) (symbol? x))))
+          (syntax-violation 'syntax-violation "invalid argument" x)))
+      (let ((x message))
+        (if (not (string? x))
+          (syntax-violation 'syntax-violation "invalid argument" x)))
+      (throw 'syntax-error
+             who
+             message
+             (or (source-annotation subform) (source-annotation form))
+             (strip form '(()))
+             (and subform (strip subform '(()))))))
+  (letrec*
+    ((syntax-module
+       (lambda (id)
+         (let ((x id))
+           (if (not (nonsymbol-id? x))
+             (syntax-violation 'syntax-module "invalid argument" x)))
+         (cdr (syntax-object-module id))))
+     (syntax-local-binding
+       (lambda (id)
+         (let ((x id))
+           (if (not (nonsymbol-id? x))
+             (syntax-violation 'syntax-local-binding "invalid argument" x)))
+         (with-transformer-environment
+           (lambda (e r w s rib mod)
+             (letrec*
+               ((strip-anti-mark
+                  (lambda (w)
+                    (let ((ms (car w)) (s (cdr w)))
+                      (if (and (pair? ms) (eq? (car ms) #f))
+                        (cons (cdr ms) (if rib (cons rib (cdr s)) (cdr s)))
+                        (cons ms (if rib (cons rib s) s)))))))
+               (call-with-values
+                 (lambda ()
+                   (resolve-identifier
+                     (syntax-object-expression id)
+                     (strip-anti-mark (syntax-object-wrap id))
+                     r
+                     (syntax-object-module id)))
+                 (lambda (type value mod)
+                   (let ((key type))
+                     (cond ((memv key '(lexical)) (values 'lexical value))
+                           ((memv key '(macro)) (values 'macro value))
+                           ((memv key '(syntax)) (values 'pattern-variable value))
+                           ((memv key '(displaced-lexical)) (values 'displaced-lexical #f))
+                           ((memv key '(global)) (values 'global (cons value (cdr mod))))
+                           (else (values 'other #f)))))))))))
+     (syntax-locally-bound-identifiers
+       (lambda (id)
+         (let ((x id))
+           (if (not (nonsymbol-id? x))
+             (syntax-violation
+               'syntax-locally-bound-identifiers
+               "invalid argument"
+               x)))
+         (locally-bound-identifiers
+           (syntax-object-wrap id)
+           (syntax-object-module id)))))
+    (define! 'syntax-module syntax-module)
+    (define! 'syntax-local-binding syntax-local-binding)
+    (define!
+      'syntax-locally-bound-identifiers
+      syntax-locally-bound-identifiers))
+  (letrec*
+    ((match-each
+       (lambda (e p w mod)
+         (cond ((pair? e)
+                (let ((first (match (car e) p w '() mod)))
+                  (and first
+                       (let ((rest (match-each (cdr e) p w mod)))
+                         (and rest (cons first rest))))))
+               ((null? e) '())
+               ((syntax-object? e)
+                (match-each
+                  (syntax-object-expression e)
+                  p
+                  (join-wraps w (syntax-object-wrap e))
+                  (syntax-object-module e)))
+               (else #f))))
+     (match-each+
+       (lambda (e x-pat y-pat z-pat w r mod)
+         (let f ((e e) (w w))
+           (cond ((pair? e)
+                  (call-with-values
+                    (lambda () (f (cdr e) w))
+                    (lambda (xr* y-pat r)
+                      (if r
+                        (if (null? y-pat)
+                          (let ((xr (match (car e) x-pat w '() mod)))
+                            (if xr (values (cons xr xr*) y-pat r) (values #f #f #f)))
+                          (values '() (cdr y-pat) (match (car e) (car y-pat) w r mod)))
+                        (values #f #f #f)))))
+                 ((syntax-object? e)
+                  (f (syntax-object-expression e) (join-wraps w e)))
+                 (else (values '() y-pat (match e z-pat w r mod)))))))
+     (match-each-any
+       (lambda (e w mod)
+         (cond ((pair? e)
+                (let ((l (match-each-any (cdr e) w mod)))
+                  (and l (cons (wrap (car e) w mod) l))))
+               ((null? e) '())
+               ((syntax-object? e)
+                (match-each-any
+                  (syntax-object-expression e)
+                  (join-wraps w (syntax-object-wrap e))
+                  mod))
+               (else #f))))
+     (match-empty
+       (lambda (p r)
+         (cond ((null? p) r)
+               ((eq? p '_) r)
+               ((eq? p 'any) (cons '() r))
+               ((pair? p) (match-empty (car p) (match-empty (cdr p) r)))
+               ((eq? p 'each-any) (cons '() r))
+               (else
+                (let ((key (vector-ref p 0)))
+                  (cond ((memv key '(each)) (match-empty (vector-ref p 1) r))
+                        ((memv key '(each+))
+                         (match-empty
+                           (vector-ref p 1)
+                           (match-empty
+                             (reverse (vector-ref p 2))
+                             (match-empty (vector-ref p 3) r))))
+                        ((memv key '(free-id atom)) r)
+                        ((memv key '(vector)) (match-empty (vector-ref p 1) r))))))))
+     (combine
+       (lambda (r* r)
+         (if (null? (car r*)) r (cons (map car r*) (combine (map cdr r*) r)))))
+     (match*
+       (lambda (e p w r mod)
+         (cond ((null? p) (and (null? e) r))
+               ((pair? p)
+                (and (pair? e)
+                     (match (car e) (car p) w (match (cdr e) (cdr p) w r mod) mod)))
+               ((eq? p 'each-any)
+                (let ((l (match-each-any e w mod))) (and l (cons l r))))
+               (else
+                (let ((key (vector-ref p 0)))
+                  (cond ((memv key '(each))
+                         (if (null? e)
+                           (match-empty (vector-ref p 1) r)
+                           (let ((l (match-each e (vector-ref p 1) w mod)))
+                             (and l
+                                  (let collect ((l l))
+                                    (if (null? (car l)) r (cons (map car l) (collect (map cdr l)))))))))
+                        ((memv key '(each+))
+                         (call-with-values
+                           (lambda ()
+                             (match-each+
+                               e
+                               (vector-ref p 1)
+                               (vector-ref p 2)
+                               (vector-ref p 3)
+                               w
+                               r
+                               mod))
+                           (lambda (xr* y-pat r)
+                             (and r
+                                  (null? y-pat)
+                                  (if (null? xr*) (match-empty (vector-ref p 1) r) (combine xr* r))))))
+                        ((memv key '(free-id))
+                         (and (id? e) (free-id=? (wrap e w mod) (vector-ref p 1)) r))
+                        ((memv key '(atom)) (and (equal? (vector-ref p 1) (strip e w)) r))
+                        ((memv key '(vector))
+                         (and (vector? e) (match (vector->list e) (vector-ref p 1) w r mod)))))))))
+     (match (lambda (e p w r mod)
+              (cond ((not r) #f)
+                    ((eq? p '_) r)
+                    ((eq? p 'any) (cons (wrap e w mod) r))
+                    ((syntax-object? e)
+                     (match*
+                       (syntax-object-expression e)
+                       p
+                       (join-wraps w (syntax-object-wrap e))
+                       r
+                       (syntax-object-module e)))
+                    (else (match* e p w r mod))))))
+    (set! $sc-dispatch
+      (lambda (e p)
+        (cond ((eq? p 'any) (list e))
+              ((eq? p '_) '())
+              ((syntax-object? e)
+               (match*
+                 (syntax-object-expression e)
+                 p
+                 (syntax-object-wrap e)
+                 '()
+                 (syntax-object-module e)))
+              (else (match* e p '(()) '() #f)))))))
+
+(define with-syntax
+  (make-syntax-transformer
+    'with-syntax
+    'macro
+    (lambda (x)
+      (let ((tmp x))
+        (let ((tmp-1 ($sc-dispatch tmp '(_ () any . each-any))))
+          (if tmp-1
+            (apply (lambda (e1 e2)
+                     (cons '#(syntax-object let ((top)) (hygiene guile))
+                           (cons '() (cons e1 e2))))
+                   tmp-1)
+            (let ((tmp-1 ($sc-dispatch tmp '(_ ((any any)) any . each-any))))
+              (if tmp-1
+                (apply (lambda (out in e1 e2)
+                         (list '#(syntax-object syntax-case ((top)) (hygiene guile))
+                               in
+                               '()
+                               (list out
+                                     (cons '#(syntax-object let ((top)) (hygiene guile))
+                                           (cons '() (cons e1 e2))))))
+                       tmp-1)
+                (let ((tmp-1 ($sc-dispatch tmp '(_ #(each (any any)) any . each-any))))
+                  (if tmp-1
+                    (apply (lambda (out in e1 e2)
+                             (list '#(syntax-object syntax-case ((top)) (hygiene guile))
+                                   (cons '#(syntax-object list ((top)) (hygiene guile)) in)
+                                   '()
+                                   (list out
+                                         (cons '#(syntax-object let ((top)) (hygiene guile))
+                                               (cons '() (cons e1 e2))))))
+                           tmp-1)
+                    (syntax-violation
+                      #f
+                      "source expression failed to match any pattern"
+                      tmp)))))))))))
+
+(define syntax-rules
+  (make-syntax-transformer
+    'syntax-rules
+    'macro
+    (lambda (xx)
+      (let ((tmp-1 xx))
+        (let ((tmp ($sc-dispatch tmp-1 '(_ each-any . #(each ((any . any) any))))))
+          (if tmp
+            (apply (lambda (k keyword pattern template)
+                     (list '#(syntax-object lambda ((top)) (hygiene guile))
+                           '(#(syntax-object x ((top)) (hygiene guile)))
+                           (vector
+                             '(#(syntax-object macro-type ((top)) (hygiene guile))
+                               .
+                               #(syntax-object syntax-rules ((top)) (hygiene guile)))
+                             (cons '#(syntax-object patterns ((top)) (hygiene guile)) pattern))
+                           (cons '#(syntax-object syntax-case ((top)) (hygiene guile))
+                                 (cons '#(syntax-object x ((top)) (hygiene guile))
+                                       (cons k
+                                             (map (lambda (tmp-1 tmp)
+                                                    (list (cons '#(syntax-object dummy ((top)) (hygiene guile)) tmp)
+                                                          (list '#(syntax-object syntax ((top)) (hygiene guile))
+                                                                tmp-1)))
+                                                  template
+                                                  pattern))))))
+                   tmp)
+            (let ((tmp ($sc-dispatch tmp-1 '(_ each-any any . #(each ((any . any) any))))))
+              (if (if tmp
+                    (apply (lambda (k docstring keyword pattern template)
+                             (string? (syntax->datum docstring)))
+                           tmp)
+                    #f)
+                (apply (lambda (k docstring keyword pattern template)
+                         (list '#(syntax-object lambda ((top)) (hygiene guile))
+                               '(#(syntax-object x ((top)) (hygiene guile)))
+                               docstring
+                               (vector
+                                 '(#(syntax-object macro-type ((top)) (hygiene guile))
+                                   .
+                                   #(syntax-object syntax-rules ((top)) (hygiene guile)))
+                                 (cons '#(syntax-object patterns ((top)) (hygiene guile)) pattern))
+                               (cons '#(syntax-object syntax-case ((top)) (hygiene guile))
+                                     (cons '#(syntax-object x ((top)) (hygiene guile))
+                                           (cons k
+                                                 (map (lambda (tmp-1 tmp)
+                                                        (list (cons '#(syntax-object dummy ((top)) (hygiene guile)) tmp)
+                                                              (list '#(syntax-object syntax ((top)) (hygiene guile))
+                                                                    tmp-1)))
+                                                      template
+                                                      pattern))))))
+                       tmp)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp-1)))))))))
+
+(define define-syntax-rule
+  (make-syntax-transformer
+    'define-syntax-rule
+    'macro
+    (lambda (x)
+      (let ((tmp-1 x))
+        (let ((tmp ($sc-dispatch tmp-1 '(_ (any . any) any))))
+          (if tmp
+            (apply (lambda (name pattern template)
+                     (list '#(syntax-object define-syntax ((top)) (hygiene guile))
+                           name
+                           (list '#(syntax-object syntax-rules ((top)) (hygiene guile))
+                                 '()
+                                 (list (cons '#(syntax-object _ ((top)) (hygiene guile)) pattern)
+                                       template))))
+                   tmp)
+            (let ((tmp ($sc-dispatch tmp-1 '(_ (any . any) any any))))
+              (if (if tmp
+                    (apply (lambda (name pattern docstring template)
+                             (string? (syntax->datum docstring)))
+                           tmp)
+                    #f)
+                (apply (lambda (name pattern docstring template)
+                         (list '#(syntax-object define-syntax ((top)) (hygiene guile))
+                               name
+                               (list '#(syntax-object syntax-rules ((top)) (hygiene guile))
+                                     '()
+                                     docstring
+                                     (list (cons '#(syntax-object _ ((top)) (hygiene guile)) pattern)
+                                           template))))
+                       tmp)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp-1)))))))))
+
+(define let*
+  (make-syntax-transformer
+    'let*
+    'macro
+    (lambda (x)
+      (let ((tmp-1 x))
+        (let ((tmp ($sc-dispatch tmp-1 '(any #(each (any any)) any . each-any))))
+          (if (if tmp
+                (apply (lambda (let* x v e1 e2) (and-map identifier? x)) tmp)
+                #f)
+            (apply (lambda (let* x v e1 e2)
+                     (let f ((bindings (map list x v)))
+                       (if (null? bindings)
+                         (cons '#(syntax-object let ((top)) (hygiene guile))
+                               (cons '() (cons e1 e2)))
+                         (let ((tmp-1 (list (f (cdr bindings)) (car bindings))))
+                           (let ((tmp ($sc-dispatch tmp-1 '(any any))))
+                             (if tmp
+                               (apply (lambda (body binding)
+                                        (list '#(syntax-object let ((top)) (hygiene guile))
+                                              (list binding)
+                                              body))
+                                      tmp)
+                               (syntax-violation
+                                 #f
+                                 "source expression failed to match any pattern"
+                                 tmp-1)))))))
+                   tmp)
+            (syntax-violation
+              #f
+              "source expression failed to match any pattern"
+              tmp-1)))))))
+
+(define quasiquote
+  (make-syntax-transformer
+    'quasiquote
+    'macro
+    (letrec*
+      ((quasi (lambda (p lev)
+                (let ((tmp p))
+                  (let ((tmp-1 ($sc-dispatch
+                                 tmp
+                                 '(#(free-id #(syntax-object unquote ((top)) (hygiene guile))) any))))
+                    (if tmp-1
+                      (apply (lambda (p)
+                               (if (= lev 0)
+                                 (list "value" p)
+                                 (quasicons
+                                   '("quote" #(syntax-object unquote ((top)) (hygiene guile)))
+                                   (quasi (list p) (- lev 1)))))
+                             tmp-1)
+                      (let ((tmp-1 ($sc-dispatch
+                                     tmp
+                                     '(#(free-id #(syntax-object quasiquote ((top)) (hygiene guile))) any))))
+                        (if tmp-1
+                          (apply (lambda (p)
+                                   (quasicons
+                                     '("quote" #(syntax-object quasiquote ((top)) (hygiene guile)))
+                                     (quasi (list p) (+ lev 1))))
+                                 tmp-1)
+                          (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+                            (if tmp-1
+                              (apply (lambda (p q)
+                                       (let ((tmp-1 p))
+                                         (let ((tmp ($sc-dispatch
+                                                      tmp-1
+                                                      '(#(free-id #(syntax-object unquote ((top)) (hygiene guile)))
+                                                        .
+                                                        each-any))))
+                                           (if tmp
+                                             (apply (lambda (p)
+                                                      (if (= lev 0)
+                                                        (quasilist*
+                                                          (map (lambda (tmp) (list "value" tmp)) p)
+                                                          (quasi q lev))
+                                                        (quasicons
+                                                          (quasicons
+                                                            '("quote" #(syntax-object unquote ((top)) (hygiene guile)))
+                                                            (quasi p (- lev 1)))
+                                                          (quasi q lev))))
+                                                    tmp)
+                                             (let ((tmp ($sc-dispatch
+                                                          tmp-1
+                                                          '(#(free-id
+                                                              #(syntax-object unquote-splicing ((top)) (hygiene guile)))
+                                                            .
+                                                            each-any))))
+                                               (if tmp
+                                                 (apply (lambda (p)
+                                                          (if (= lev 0)
+                                                            (quasiappend
+                                                              (map (lambda (tmp) (list "value" tmp)) p)
+                                                              (quasi q lev))
+                                                            (quasicons
+                                                              (quasicons
+                                                                '("quote"
+                                                                  #(syntax-object
+                                                                    unquote-splicing
+                                                                    ((top))
+                                                                    (hygiene guile)))
+                                                                (quasi p (- lev 1)))
+                                                              (quasi q lev))))
+                                                        tmp)
+                                                 (quasicons (quasi p lev) (quasi q lev))))))))
+                                     tmp-1)
+                              (let ((tmp-1 ($sc-dispatch tmp '#(vector each-any))))
+                                (if tmp-1
+                                  (apply (lambda (x) (quasivector (vquasi x lev))) tmp-1)
+                                  (let ((p tmp)) (list "quote" p)))))))))))))
+       (vquasi
+         (lambda (p lev)
+           (let ((tmp p))
+             (let ((tmp-1 ($sc-dispatch tmp '(any . any))))
+               (if tmp-1
+                 (apply (lambda (p q)
+                          (let ((tmp-1 p))
+                            (let ((tmp ($sc-dispatch
+                                         tmp-1
+                                         '(#(free-id #(syntax-object unquote ((top)) (hygiene guile)))
+                                           .
+                                           each-any))))
+                              (if tmp
+                                (apply (lambda (p)
+                                         (if (= lev 0)
+                                           (quasilist* (map (lambda (tmp) (list "value" tmp)) p) (vquasi q lev))
+                                           (quasicons
+                                             (quasicons
+                                               '("quote" #(syntax-object unquote ((top)) (hygiene guile)))
+                                               (quasi p (- lev 1)))
+                                             (vquasi q lev))))
+                                       tmp)
+                                (let ((tmp ($sc-dispatch
+                                             tmp-1
+                                             '(#(free-id #(syntax-object unquote-splicing ((top)) (hygiene guile)))
+                                               .
+                                               each-any))))
+                                  (if tmp
+                                    (apply (lambda (p)
+                                             (if (= lev 0)
+                                               (quasiappend
+                                                 (map (lambda (tmp) (list "value" tmp)) p)
+                                                 (vquasi q lev))
+                                               (quasicons
+                                                 (quasicons
+                                                   '("quote" #(syntax-object unquote-splicing ((top)) (hygiene guile)))
+                                                   (quasi p (- lev 1)))
+                                                 (vquasi q lev))))
+                                           tmp)
+                                    (quasicons (quasi p lev) (vquasi q lev))))))))
+                        tmp-1)
+                 (let ((tmp-1 ($sc-dispatch tmp '())))
+                   (if tmp-1
+                     (apply (lambda () '("quote" ())) tmp-1)
+                     (syntax-violation
+                       #f
+                       "source expression failed to match any pattern"
+                       tmp))))))))
+       (quasicons
+         (lambda (x y)
+           (let ((tmp-1 (list x y)))
+             (let ((tmp ($sc-dispatch tmp-1 '(any any))))
+               (if tmp
+                 (apply (lambda (x y)
+                          (let ((tmp y))
+                            (let ((tmp-1 ($sc-dispatch tmp '(#(atom "quote") any))))
+                              (if tmp-1
+                                (apply (lambda (dy)
+                                         (let ((tmp x))
+                                           (let ((tmp ($sc-dispatch tmp '(#(atom "quote") any))))
+                                             (if tmp
+                                               (apply (lambda (dx) (list "quote" (cons dx dy))) tmp)
+                                               (if (null? dy) (list "list" x) (list "list*" x y))))))
+                                       tmp-1)
+                                (let ((tmp-1 ($sc-dispatch tmp '(#(atom "list") . any))))
+                                  (if tmp-1
+                                    (apply (lambda (stuff) (cons "list" (cons x stuff))) tmp-1)
+                                    (let ((tmp ($sc-dispatch tmp '(#(atom "list*") . any))))
+                                      (if tmp
+                                        (apply (lambda (stuff) (cons "list*" (cons x stuff))) tmp)
+                                        (list "list*" x y)))))))))
+                        tmp)
+                 (syntax-violation
+                   #f
+                   "source expression failed to match any pattern"
+                   tmp-1))))))
+       (quasiappend
+         (lambda (x y)
+           (let ((tmp y))
+             (let ((tmp ($sc-dispatch tmp '(#(atom "quote") ()))))
+               (if tmp
+                 (apply (lambda ()
+                          (if (null? x)
+                            '("quote" ())
+                            (if (null? (cdr x))
+                              (car x)
+                              (let ((tmp-1 x))
+                                (let ((tmp ($sc-dispatch tmp-1 'each-any)))
+                                  (if tmp
+                                    (apply (lambda (p) (cons "append" p)) tmp)
+                                    (syntax-violation
+                                      #f
+                                      "source expression failed to match any pattern"
+                                      tmp-1)))))))
+                        tmp)
+                 (if (null? x)
+                   y
+                   (let ((tmp-1 (list x y)))
+                     (let ((tmp ($sc-dispatch tmp-1 '(each-any any))))
+                       (if tmp
+                         (apply (lambda (p y) (cons "append" (append p (list y)))) tmp)
+                         (syntax-violation
+                           #f
+                           "source expression failed to match any pattern"
+                           tmp-1))))))))))
+       (quasilist*
+         (lambda (x y)
+           (let f ((x x)) (if (null? x) y (quasicons (car x) (f (cdr x)))))))
+       (quasivector
+         (lambda (x)
+           (let ((tmp x))
+             (let ((tmp ($sc-dispatch tmp '(#(atom "quote") each-any))))
+               (if tmp
+                 (apply (lambda (x) (list "quote" (list->vector x))) tmp)
+                 (let f ((y x)
+                         (k (lambda (ls)
+                              (let ((tmp-1 ls))
+                                (let ((tmp ($sc-dispatch tmp-1 'each-any)))
+                                  (if tmp
+                                    (apply (lambda (t) (cons "vector" t)) tmp)
+                                    (syntax-violation
+                                      #f
+                                      "source expression failed to match any pattern"
+                                      tmp-1)))))))
+                   (let ((tmp y))
+                     (let ((tmp-1 ($sc-dispatch tmp '(#(atom "quote") each-any))))
+                       (if tmp-1
+                         (apply (lambda (y) (k (map (lambda (tmp) (list "quote" tmp)) y)))
+                                tmp-1)
+                         (let ((tmp-1 ($sc-dispatch tmp '(#(atom "list") . each-any))))
+                           (if tmp-1
+                             (apply (lambda (y) (k y)) tmp-1)
+                             (let ((tmp-1 ($sc-dispatch tmp '(#(atom "list*") . #(each+ any (any) ())))))
+                               (if tmp-1
+                                 (apply (lambda (y z) (f z (lambda (ls) (k (append y ls))))) tmp-1)
+                                 (let ((else tmp))
+                                   (let ((tmp x)) (let ((t tmp)) (list "list->vector" t)))))))))))))))))
+       (emit (lambda (x)
+               (let ((tmp x))
+                 (let ((tmp-1 ($sc-dispatch tmp '(#(atom "quote") any))))
+                   (if tmp-1
+                     (apply (lambda (x) (list '#(syntax-object quote ((top)) (hygiene guile)) x))
+                            tmp-1)
+                     (let ((tmp-1 ($sc-dispatch tmp '(#(atom "list") . each-any))))
+                       (if tmp-1
+                         (apply (lambda (x)
+                                  (let ((tmp-1 (map emit x)))
+                                    (let ((tmp ($sc-dispatch tmp-1 'each-any)))
+                                      (if tmp
+                                        (apply (lambda (t) (cons '#(syntax-object list ((top)) (hygiene guile)) t))
+                                               tmp)
+                                        (syntax-violation
+                                          #f
+                                          "source expression failed to match any pattern"
+                                          tmp-1)))))
+                                tmp-1)
+                         (let ((tmp-1 ($sc-dispatch tmp '(#(atom "list*") . #(each+ any (any) ())))))
+                           (if tmp-1
+                             (apply (lambda (x y)
+                                      (let f ((x* x))
+                                        (if (null? x*)
+                                          (emit y)
+                                          (let ((tmp-1 (list (emit (car x*)) (f (cdr x*)))))
+                                            (let ((tmp ($sc-dispatch tmp-1 '(any any))))
+                                              (if tmp
+                                                (apply (lambda (t-1 t)
+                                                         (list '#(syntax-object cons ((top)) (hygiene guile)) t-1 t))
+                                                       tmp)
+                                                (syntax-violation
+                                                  #f
+                                                  "source expression failed to match any pattern"
+                                                  tmp-1)))))))
+                                    tmp-1)
+                             (let ((tmp-1 ($sc-dispatch tmp '(#(atom "append") . each-any))))
+                               (if tmp-1
+                                 (apply (lambda (x)
+                                          (let ((tmp-1 (map emit x)))
+                                            (let ((tmp ($sc-dispatch tmp-1 'each-any)))
+                                              (if tmp
+                                                (apply (lambda (t)
+                                                         (cons '#(syntax-object append ((top)) (hygiene guile)) t))
+                                                       tmp)
+                                                (syntax-violation
+                                                  #f
+                                                  "source expression failed to match any pattern"
+                                                  tmp-1)))))
+                                        tmp-1)
+                                 (let ((tmp-1 ($sc-dispatch tmp '(#(atom "vector") . each-any))))
+                                   (if tmp-1
+                                     (apply (lambda (x)
+                                              (let ((tmp-1 (map emit x)))
+                                                (let ((tmp ($sc-dispatch tmp-1 'each-any)))
+                                                  (if tmp
+                                                    (apply (lambda (t)
+                                                             (cons '#(syntax-object vector ((top)) (hygiene guile)) t))
+                                                           tmp)
+                                                    (syntax-violation
+                                                      #f
+                                                      "source expression failed to match any pattern"
+                                                      tmp-1)))))
+                                            tmp-1)
+                                     (let ((tmp-1 ($sc-dispatch tmp '(#(atom "list->vector") any))))
+                                       (if tmp-1
+                                         (apply (lambda (x)
+                                                  (let ((tmp (emit x)))
+                                                    (let ((t tmp))
+                                                      (list '#(syntax-object list->vector ((top)) (hygiene guile)) t))))
+                                                tmp-1)
+                                         (let ((tmp-1 ($sc-dispatch tmp '(#(atom "value") any))))
+                                           (if tmp-1
+                                             (apply (lambda (x) x) tmp-1)
+                                             (syntax-violation
+                                               #f
+                                               "source expression failed to match any pattern"
+                                               tmp)))))))))))))))))))
+      (lambda (x)
+        (let ((tmp-1 x))
+          (let ((tmp ($sc-dispatch tmp-1 '(_ any))))
+            (if tmp
+              (apply (lambda (e) (emit (quasi e 0))) tmp)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp-1))))))))
+
+(define include
+  (make-syntax-transformer
+    'include
+    'macro
+    (lambda (x)
+      (letrec*
+        ((read-file
+           (lambda (fn dir k)
+             (let ((p (open-input-file
+                        (if (absolute-file-name? fn) fn (in-vicinity dir fn)))))
+               (let ((enc (file-encoding p)))
+                 (set-port-encoding! p (let ((t enc)) (if t t "UTF-8")))
+                 (let f ((x (read p)) (result '()))
+                   (if (eof-object? x)
+                     (begin (close-input-port p) (reverse result))
+                     (f (read p) (cons (datum->syntax k x) result)))))))))
+        (let ((src (syntax-source x)))
+          (let ((file (if src (assq-ref src 'filename) #f)))
+            (let ((dir (if (string? file) (dirname file) #f)))
+              (let ((tmp-1 x))
+                (let ((tmp ($sc-dispatch tmp-1 '(any any))))
+                  (if tmp
+                    (apply (lambda (k filename)
+                             (let ((fn (syntax->datum filename)))
+                               (let ((tmp-1 (read-file fn dir filename)))
+                                 (let ((tmp ($sc-dispatch tmp-1 'each-any)))
+                                   (if tmp
+                                     (apply (lambda (exp)
+                                              (cons '#(syntax-object begin ((top)) (hygiene guile)) exp))
+                                            tmp)
+                                     (syntax-violation
+                                       #f
+                                       "source expression failed to match any pattern"
+                                       tmp-1))))))
+                           tmp)
+                    (syntax-violation
+                      #f
+                      "source expression failed to match any pattern"
+                      tmp-1)))))))))))
+
+(define include-from-path
+  (make-syntax-transformer
+    'include-from-path
+    'macro
+    (lambda (x)
+      (let ((tmp-1 x))
+        (let ((tmp ($sc-dispatch tmp-1 '(any any))))
+          (if tmp
+            (apply (lambda (k filename)
+                     (let ((fn (syntax->datum filename)))
+                       (let ((tmp (datum->syntax
+                                    filename
+                                    (let ((t (%search-load-path fn)))
+                                      (if t
+                                        t
+                                        (syntax-violation
+                                          'include-from-path
+                                          "file not found in path"
+                                          x
+                                          filename))))))
+                         (let ((fn tmp))
+                           (list '#(syntax-object include ((top)) (hygiene guile)) fn)))))
+                   tmp)
+            (syntax-violation
+              #f
+              "source expression failed to match any pattern"
+              tmp-1)))))))
+
+(define unquote
+  (make-syntax-transformer
+    'unquote
+    'macro
+    (lambda (x)
+      (syntax-violation
+        'unquote
+        "expression not valid outside of quasiquote"
+        x))))
+
+(define unquote-splicing
+  (make-syntax-transformer
+    'unquote-splicing
+    'macro
+    (lambda (x)
+      (syntax-violation
+        'unquote-splicing
+        "expression not valid outside of quasiquote"
+        x))))
+
+(define make-variable-transformer
+  (lambda (proc)
+    (if (procedure? proc)
+      (let ((trans (lambda (x) (proc x))))
+        (set-procedure-property! trans 'variable-transformer #t)
+        trans)
+      (error "variable transformer not a procedure" proc))))
+
+(define identifier-syntax
+  (make-syntax-transformer
+    'identifier-syntax
+    'macro
+    (lambda (xx)
+      (let ((tmp-1 xx))
+        (let ((tmp ($sc-dispatch tmp-1 '(_ any))))
+          (if tmp
+            (apply (lambda (e)
+                     (list '#(syntax-object lambda ((top)) (hygiene guile))
+                           '(#(syntax-object x ((top)) (hygiene guile)))
+                           '#((#(syntax-object macro-type ((top)) (hygiene guile))
+                               .
+                               #(syntax-object identifier-syntax ((top)) (hygiene guile))))
+                           (list '#(syntax-object syntax-case ((top)) (hygiene guile))
+                                 '#(syntax-object x ((top)) (hygiene guile))
+                                 '()
+                                 (list '#(syntax-object id ((top)) (hygiene guile))
+                                       '(#(syntax-object identifier? ((top)) (hygiene guile))
+                                         (#(syntax-object syntax ((top)) (hygiene guile))
+                                          #(syntax-object id ((top)) (hygiene guile))))
+                                       (list '#(syntax-object syntax ((top)) (hygiene guile)) e))
+                                 (list '(#(syntax-object _ ((top)) (hygiene guile))
+                                         #(syntax-object x ((top)) (hygiene guile))
+                                         #(syntax-object ... ((top)) (hygiene guile)))
+                                       (list '#(syntax-object syntax ((top)) (hygiene guile))
+                                             (cons e
+                                                   '(#(syntax-object x ((top)) (hygiene guile))
+                                                     #(syntax-object ... ((top)) (hygiene guile)))))))))
+                   tmp)
+            (let ((tmp ($sc-dispatch
+                         tmp-1
+                         '(_ (any any)
+                             ((#(free-id #(syntax-object set! ((top)) (hygiene guile))) any any)
+                              any)))))
+              (if (if tmp
+                    (apply (lambda (id exp1 var val exp2)
+                             (if (identifier? id) (identifier? var) #f))
+                           tmp)
+                    #f)
+                (apply (lambda (id exp1 var val exp2)
+                         (list '#(syntax-object make-variable-transformer ((top)) (hygiene guile))
+                               (list '#(syntax-object lambda ((top)) (hygiene guile))
+                                     '(#(syntax-object x ((top)) (hygiene guile)))
+                                     '#((#(syntax-object macro-type ((top)) (hygiene guile))
+                                         .
+                                         #(syntax-object variable-transformer ((top)) (hygiene guile))))
+                                     (list '#(syntax-object syntax-case ((top)) (hygiene guile))
+                                           '#(syntax-object x ((top)) (hygiene guile))
+                                           '(#(syntax-object set! ((top)) (hygiene guile)))
+                                           (list (list '#(syntax-object set! ((top)) (hygiene guile)) var val)
+                                                 (list '#(syntax-object syntax ((top)) (hygiene guile)) exp2))
+                                           (list (cons id
+                                                       '(#(syntax-object x ((top)) (hygiene guile))
+                                                         #(syntax-object ... ((top)) (hygiene guile))))
+                                                 (list '#(syntax-object syntax ((top)) (hygiene guile))
+                                                       (cons exp1
+                                                             '(#(syntax-object x ((top)) (hygiene guile))
+                                                               #(syntax-object ... ((top)) (hygiene guile))))))
+                                           (list id
+                                                 (list '#(syntax-object identifier? ((top)) (hygiene guile))
+                                                       (list '#(syntax-object syntax ((top)) (hygiene guile)) id))
+                                                 (list '#(syntax-object syntax ((top)) (hygiene guile)) exp1))))))
+                       tmp)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp-1)))))))))
+
+(define define*
+  (make-syntax-transformer
+    'define*
+    'macro
+    (lambda (x)
+      (let ((tmp-1 x))
+        (let ((tmp ($sc-dispatch tmp-1 '(_ (any . any) any . each-any))))
+          (if tmp
+            (apply (lambda (id args b0 b1)
+                     (list '#(syntax-object define ((top)) (hygiene guile))
+                           id
+                           (cons '#(syntax-object lambda* ((top)) (hygiene guile))
+                                 (cons args (cons b0 b1)))))
+                   tmp)
+            (let ((tmp ($sc-dispatch tmp-1 '(_ any any))))
+              (if (if tmp (apply (lambda (id val) (identifier? id)) tmp) #f)
+                (apply (lambda (id val)
+                         (list '#(syntax-object define ((top)) (hygiene guile)) id val))
+                       tmp)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp-1)))))))))
+