guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. a755136ba8


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. a755136ba8469fdccbcac956b4f5d8c6f4ec2a4e
Date: Fri, 22 May 2009 19:15:46 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=a755136ba8469fdccbcac956b4f5d8c6f4ec2a4e

The branch, syncase-in-boot-9 has been updated
       via  a755136ba8469fdccbcac956b4f5d8c6f4ec2a4e (commit)
       via  0e7b72a8fefc27d67623b11659372b7ac37b7a58 (commit)
       via  b40d023067b54f1085f194c521c2d046fceb9444 (commit)
      from  39a2eca2ce7461108ddc595cb74a6bf47c456bd8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a755136ba8469fdccbcac956b4f5d8c6f4ec2a4e
Author: Andy Wingo <address@hidden>
Date:   Fri May 22 21:14:48 2009 +0200

    fix (oop goops) compilation for (language tree-il primitives)
    
    * module/oop/goops.scm (compile): Whoop-dee, fix up (oop goops) for
      (language tree-il primitives) change.

commit 0e7b72a8fefc27d67623b11659372b7ac37b7a58
Author: Andy Wingo <address@hidden>
Date:   Fri May 22 21:12:42 2009 +0200

    source location tracking in psyntax, booya!
    
    * module/ice-9/psyntax.scm (source-annotation): Return #f if
      source-properties returns null.
      (source-wrap): Rework a bit.
      (syntax-type): Don't throw away source info for wrapped expressions.
      Can has source location info, fools!
      (chi-body): Correctly propagate source info for body subforms.
      (syntax): Remove special case for map, it doesn't apply (ahem) for
      Guile.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

commit b40d023067b54f1085f194c521c2d046fceb9444
Author: Andy Wingo <address@hidden>
Date:   Fri May 22 19:48:14 2009 +0200

    remove annotations in psyntax in favor of guile's source properties
    
    * module/ice-9/psyntax.scm: Remove references to annotation objects,
      we're just going to try and use Guile's source properties now. It works
      until `syntax' reconstructs output, at which point it seems we lose it.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.

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

Summary of changes:
 module/ice-9/psyntax-pp.scm |   22 +++---
 module/ice-9/psyntax.scm    |  206 +++++++++++++++----------------------------
 module/oop/goops.scm        |    2 +-
 3 files changed, 85 insertions(+), 145 deletions(-)

diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index e0b545a..f33f492 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,13 +1,13 @@
 (eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
 (if #f #f)
-(letrec ((and-map*17 (lambda (f57 first56 . rest55) (let ((t58 (null? 
first56))) (if t58 t58 (if (null? rest55) (letrec ((andmap59 (lambda (first60) 
(let ((x61 (car first60)) (first62 (cdr first60))) (if (null? first62) (f57 
x61) (if (f57 x61) (andmap59 first62) #f)))))) (andmap59 first56)) (letrec 
((andmap63 (lambda (first64 rest65) (let ((x66 (car first64)) (xr67 (map car 
rest65)) (first68 (cdr first64)) (rest69 (map cdr rest65))) (if (null? first68) 
(apply f57 (cons x66 xr67)) (if (apply f57 (cons x66 xr67)) (andmap63 first68 
rest69) #f)))))) (andmap63 first56 rest55)))))))) (letrec ((lambda-var-list163 
(lambda (vars292) (letrec ((lvl293 (lambda (vars294 ls295 w296) (if (pair? 
vars294) (lvl293 (cdr vars294) (cons (wrap142 (car vars294) w296 #f) ls295) 
w296) (if (id?114 vars294) (cons (wrap142 vars294 w296 #f) ls295) (if (null? 
vars294) ls295 (if (syntax-object?98 vars294) (lvl293 
(syntax-object-expression99 vars294) ls295 (join-wraps133 w296 
(syntax-object-wrap100 vars294))) (if (annotation? vars294) (lvl293 
(annotation-expression vars294) ls295 w296) (cons vars294 ls295))))))))) 
(lvl293 vars292 (quote ()) (quote (())))))) (gen-var162 (lambda (id297) (let 
((id298 (if (syntax-object?98 id297) (syntax-object-expression99 id297) 
id297))) (if (annotation? id298) (gensym (symbol->string (annotation-expression 
id298))) (gensym (symbol->string id298)))))) (strip161 (lambda (x299 w300) (if 
(memq (quote top) (wrap-marks117 w300)) (if (let ((t301 (annotation? x299))) 
(if t301 t301 (if (pair? x299) (annotation? (car x299)) #f))) 
(strip-annotation160 x299 #f) x299) (letrec ((f302 (lambda (x303) (if 
(syntax-object?98 x303) (strip161 (syntax-object-expression99 x303) 
(syntax-object-wrap100 x303)) (if (pair? x303) (let ((a304 (f302 (car x303))) 
(d305 (f302 (cdr x303)))) (if (if (eq? a304 (car x303)) (eq? d305 (cdr x303)) 
#f) x303 (cons a304 d305))) (if (vector? x303) (let ((old306 (vector->list 
x303))) (let ((new307 (map f302 old306))) (if (and-map*17 eq? old306 new307) 
x303 (list->vector new307)))) x303)))))) (f302 x299))))) (strip-annotation160 
(lambda (x308 parent309) (if (pair? x308) (let ((new310 (cons #f #f))) (begin 
(if parent309 (set-annotation-stripped! parent309 new310)) (set-car! new310 
(strip-annotation160 (car x308) #f)) (set-cdr! new310 (strip-annotation160 (cdr 
x308) #f)) new310)) (if (annotation? x308) (let ((t311 (annotation-stripped 
x308))) (if t311 t311 (strip-annotation160 (annotation-expression x308) x308))) 
(if (vector? x308) (let ((new312 (make-vector (vector-length x308)))) (begin 
(if parent309 (set-annotation-stripped! parent309 new312)) (letrec ((loop313 
(lambda (i314) (unless (fx<75 i314 0) (vector-set! new312 i314 
(strip-annotation160 (vector-ref x308 i314) #f)) (loop313 (fx-73 i314 1)))))) 
(loop313 (- (vector-length x308) 1))) new312)) x308))))) (ellipsis?159 (lambda 
(x315) (if (nonsymbol-id?113 x315) (free-id=?137 x315 (quote #(syntax-object 
... ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) 
#("i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? 
chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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-void158 (lambda () (build-void80 #f))) (eval-local-transformer157 (lambda 
(expanded316 mod317) (let ((p318 (local-eval-hook77 expanded316 mod317))) (if 
(procedure? p318) p318 (syntax-violation #f "nonprocedure transformer" 
p318))))) (chi-local-syntax156 (lambda (rec?319 e320 r321 w322 s323 mod324 
k325) ((lambda (tmp326) ((lambda (tmp327) (if tmp327 (apply (lambda (_328 id329 
val330 e1331 e2332) (let ((ids333 id329)) (if (not (valid-bound-ids?139 
ids333)) (syntax-violation #f "duplicate bound keyword" e320) (let ((labels335 
(gen-labels120 ids333))) (let ((new-w336 (make-binding-wrap131 ids333 labels335 
w322))) (k325 (cons e1331 e2332) (extend-env108 labels335 (let ((w338 (if 
rec?319 new-w336 w322)) (trans-r339 (macros-only-env110 r321))) (map (lambda 
(x340) (cons (quote macro) (eval-local-transformer157 (chi150 x340 trans-r339 
w338 mod324) mod324))) val330)) r321) new-w336 s323 mod324)))))) tmp327) 
((lambda (_342) (syntax-violation #f "bad local syntax definition" 
(source-wrap143 e320 w322 s323 mod324))) tmp326))) ($sc-dispatch tmp326 (quote 
(any #(each (any any)) any . each-any))))) e320))) (chi-lambda-clause155 
(lambda (e343 docstring344 c345 r346 w347 mod348 k349) ((lambda (tmp350) 
((lambda (tmp351) (if (if tmp351 (apply (lambda (args352 doc353 e1354 e2355) 
(if (string? (syntax->datum doc353)) (not docstring344) #f)) tmp351) #f) (apply 
(lambda (args356 doc357 e1358 e2359) (chi-lambda-clause155 e343 doc357 (cons 
args356 (cons e1358 e2359)) r346 w347 mod348 k349)) tmp351) ((lambda (tmp361) 
(if tmp361 (apply (lambda (id362 e1363 e2364) (let ((ids365 id362)) (if (not 
(valid-bound-ids?139 ids365)) (syntax-violation (quote lambda) "invalid 
parameter list" e343) (let ((labels367 (gen-labels120 ids365)) (new-vars368 
(map gen-var162 ids365))) (k349 (map syntax->datum ids365) new-vars368 (if 
docstring344 (syntax->datum docstring344) #f) (chi-body154 (cons e1363 e2364) 
e343 (extend-var-env109 labels367 new-vars368 r346) (make-binding-wrap131 
ids365 labels367 w347) mod348)))))) tmp361) ((lambda (tmp370) (if tmp370 (apply 
(lambda (ids371 e1372 e2373) (let ((old-ids374 (lambda-var-list163 ids371))) 
(if (not (valid-bound-ids?139 old-ids374)) (syntax-violation (quote lambda) 
"invalid parameter list" e343) (let ((labels375 (gen-labels120 old-ids374)) 
(new-vars376 (map gen-var162 old-ids374))) (k349 (letrec ((f377 (lambda (ls1378 
ls2379) (if (null? ls1378) (syntax->datum ls2379) (f377 (cdr ls1378) (cons 
(syntax->datum (car ls1378)) ls2379)))))) (f377 (cdr old-ids374) (car 
old-ids374))) (letrec ((f380 (lambda (ls1381 ls2382) (if (null? ls1381) ls2382 
(f380 (cdr ls1381) (cons (car ls1381) ls2382)))))) (f380 (cdr new-vars376) (car 
new-vars376))) (if docstring344 (syntax->datum docstring344) #f) (chi-body154 
(cons e1372 e2373) e343 (extend-var-env109 labels375 new-vars376 r346) 
(make-binding-wrap131 old-ids374 labels375 w347) mod348)))))) tmp370) ((lambda 
(_384) (syntax-violation (quote lambda) "bad lambda" e343)) tmp350))) 
($sc-dispatch tmp350 (quote (any any . each-any)))))) ($sc-dispatch tmp350 
(quote (each-any any . each-any)))))) ($sc-dispatch tmp350 (quote (any any any 
. each-any))))) c345))) (chi-body154 (lambda (body385 outer-form386 r387 w388 
mod389) (let ((r390 (cons (quote ("placeholder" placeholder)) r387))) (let 
((ribcage391 (make-ribcage121 (quote ()) (quote ()) (quote ())))) (let ((w392 
(make-wrap116 (wrap-marks117 w388) (cons ribcage391 (wrap-subst118 w388))))) 
(letrec ((parse393 (lambda (body394 ids395 labels396 var-ids397 vars398 vals399 
bindings400) (if (null? body394) (syntax-violation #f "no expressions in body" 
outer-form386) (let ((e402 (cdar body394)) (er403 (caar body394))) 
(call-with-values (lambda () (syntax-type148 e402 er403 (quote (())) #f 
ribcage391 mod389)) (lambda (type404 value405 e406 w407 s408 mod409) (if (memv 
type404 (quote (define-form))) (let ((id410 (wrap142 value405 w407 mod409)) 
(label411 (gen-label119))) (let ((var412 (gen-var162 id410))) (begin 
(extend-ribcage!130 ribcage391 id410 label411) (parse393 (cdr body394) (cons 
id410 ids395) (cons label411 labels396) (cons id410 var-ids397) (cons var412 
vars398) (cons (cons er403 (wrap142 e406 w407 mod409)) vals399) (cons (cons 
(quote lexical) var412) bindings400))))) (if (memv type404 (quote 
(define-syntax-form))) (let ((id413 (wrap142 value405 w407 mod409)) (label414 
(gen-label119))) (begin (extend-ribcage!130 ribcage391 id413 label414) 
(parse393 (cdr body394) (cons id413 ids395) (cons label414 labels396) 
var-ids397 vars398 vals399 (cons (cons (quote macro) (cons er403 (wrap142 e406 
w407 mod409))) bindings400)))) (if (memv type404 (quote (begin-form))) ((lambda 
(tmp415) ((lambda (tmp416) (if tmp416 (apply (lambda (_417 e1418) (parse393 
(letrec ((f419 (lambda (forms420) (if (null? forms420) (cdr body394) (cons 
(cons er403 (wrap142 (car forms420) w407 mod409)) (f419 (cdr forms420))))))) 
(f419 e1418)) ids395 labels396 var-ids397 vars398 vals399 bindings400)) tmp416) 
(syntax-violation #f "source expression failed to match any pattern" tmp415))) 
($sc-dispatch tmp415 (quote (any . each-any))))) e406) (if (memv type404 (quote 
(local-syntax-form))) (chi-local-syntax156 value405 e406 er403 w407 s408 mod409 
(lambda (forms422 er423 w424 s425 mod426) (parse393 (letrec ((f427 (lambda 
(forms428) (if (null? forms428) (cdr body394) (cons (cons er423 (wrap142 (car 
forms428) w424 mod426)) (f427 (cdr forms428))))))) (f427 forms422)) ids395 
labels396 var-ids397 vars398 vals399 bindings400))) (if (null? ids395) 
(build-sequence93 #f (map (lambda (x429) (chi150 (cdr x429) (car x429) (quote 
(())) mod409)) (cons (cons er403 (source-wrap143 e406 w407 s408 mod409)) (cdr 
body394)))) (begin (if (not (valid-bound-ids?139 ids395)) (syntax-violation #f 
"invalid or duplicate identifier in definition" outer-form386)) (letrec 
((loop430 (lambda (bs431 er-cache432 r-cache433) (if (not (null? bs431)) (let 
((b434 (car bs431))) (if (eq? (car b434) (quote macro)) (let ((er435 (cadr 
b434))) (let ((r-cache436 (if (eq? er435 er-cache432) r-cache433 
(macros-only-env110 er435)))) (begin (set-cdr! b434 (eval-local-transformer157 
(chi150 (cddr b434) r-cache436 (quote (())) mod409) mod409)) (loop430 (cdr 
bs431) er435 r-cache436)))) (loop430 (cdr bs431) er-cache432 r-cache433))))))) 
(loop430 bindings400 #f #f)) (set-cdr! r390 (extend-env108 labels396 
bindings400 (cdr r390))) (build-letrec96 #f (map syntax->datum var-ids397) 
vars398 (map (lambda (x437) (chi150 (cdr x437) (car x437) (quote (())) mod409)) 
vals399) (build-sequence93 #f (map (lambda (x438) (chi150 (cdr x438) (car x438) 
(quote (())) mod409)) (cons (cons er403 (source-wrap143 e406 w407 s408 mod409)) 
(cdr body394)))))))))))))))))) (parse393 (map (lambda (x401) (cons r390 
(wrap142 x401 w392 mod389))) body385) (quote ()) (quote ()) (quote ()) (quote 
()) (quote ()) (quote ())))))))) (chi-macro153 (lambda (p439 e440 r441 w442 
rib443 mod444) (letrec ((rebuild-macro-output445 (lambda (x446 m447) (if (pair? 
x446) (cons (rebuild-macro-output445 (car x446) m447) (rebuild-macro-output445 
(cdr x446) m447)) (if (syntax-object?98 x446) (let ((w448 
(syntax-object-wrap100 x446))) (let ((ms449 (wrap-marks117 w448)) (s450 
(wrap-subst118 w448))) (if (if (pair? ms449) (eq? (car ms449) #f) #f) 
(make-syntax-object97 (syntax-object-expression99 x446) (make-wrap116 (cdr 
ms449) (if rib443 (cons rib443 (cdr s450)) (cdr s450))) 
(syntax-object-module101 x446)) (make-syntax-object97 
(syntax-object-expression99 x446) (make-wrap116 (cons m447 ms449) (if rib443 
(cons rib443 (cons (quote shift) s450)) (cons (quote shift) s450))) (let 
((pmod451 (procedure-module p439))) (if pmod451 (cons (quote hygiene) 
(module-name pmod451)) (quote (hygiene guile)))))))) (if (vector? x446) (let 
((n452 (vector-length x446))) (let ((v453 (make-vector n452))) (letrec 
((loop454 (lambda (i455) (if (fx=74 i455 n452) (begin (if #f #f) v453) (begin 
(vector-set! v453 i455 (rebuild-macro-output445 (vector-ref x446 i455) m447)) 
(loop454 (fx+72 i455 1))))))) (loop454 0)))) (if (symbol? x446) 
(syntax-violation #f "encountered raw symbol in macro output" (source-wrap143 
e440 w442 s mod444) x446) x446))))))) (rebuild-macro-output445 (p439 (wrap142 
e440 (anti-mark129 w442) mod444)) (string #\m))))) (chi-application152 (lambda 
(x456 e457 r458 w459 s460 mod461) ((lambda (tmp462) ((lambda (tmp463) (if 
tmp463 (apply (lambda (e0464 e1465) (build-application81 s460 x456 (map (lambda 
(e466) (chi150 e466 r458 w459 mod461)) e1465))) tmp463) (syntax-violation #f 
"source expression failed to match any pattern" tmp462))) ($sc-dispatch tmp462 
(quote (any . each-any))))) e457))) (chi-expr151 (lambda (type468 value469 e470 
r471 w472 s473 mod474) (if (memv type468 (quote (lexical))) 
(build-lexical-reference83 (quote value) s473 e470 value469) (if (memv type468 
(quote (core external-macro))) (value469 e470 r471 w472 s473 mod474) (if (memv 
type468 (quote (module-ref))) (call-with-values (lambda () (value469 e470)) 
(lambda (id475 mod476) (build-global-reference86 s473 id475 mod476))) (if (memv 
type468 (quote (lexical-call))) (chi-application152 (build-lexical-reference83 
(quote fun) (source-annotation105 (car e470)) (car e470) value469) e470 r471 
w472 s473 mod474) (if (memv type468 (quote (global-call))) (chi-application152 
(build-global-reference86 (source-annotation105 (car e470)) value469 (if 
(syntax-object?98 (car e470)) (syntax-object-module101 (car e470)) mod474)) 
e470 r471 w472 s473 mod474) (if (memv type468 (quote (constant))) (build-data92 
s473 (strip161 (source-wrap143 e470 w472 s473 mod474) (quote (())))) (if (memv 
type468 (quote (global))) (build-global-reference86 s473 value469 mod474) (if 
(memv type468 (quote (call))) (chi-application152 (chi150 (car e470) r471 w472 
mod474) e470 r471 w472 s473 mod474) (if (memv type468 (quote (begin-form))) 
((lambda (tmp477) ((lambda (tmp478) (if tmp478 (apply (lambda (_479 e1480 
e2481) (chi-sequence144 (cons e1480 e2481) r471 w472 s473 mod474)) tmp478) 
(syntax-violation #f "source expression failed to match any pattern" tmp477))) 
($sc-dispatch tmp477 (quote (any any . each-any))))) e470) (if (memv type468 
(quote (local-syntax-form))) (chi-local-syntax156 value469 e470 r471 w472 s473 
mod474 chi-sequence144) (if (memv type468 (quote (eval-when-form))) ((lambda 
(tmp483) ((lambda (tmp484) (if tmp484 (apply (lambda (_485 x486 e1487 e2488) 
(let ((when-list489 (chi-when-list147 e470 x486 w472))) (if (memq (quote eval) 
when-list489) (chi-sequence144 (cons e1487 e2488) r471 w472 s473 mod474) 
(chi-void158)))) tmp484) (syntax-violation #f "source expression failed to 
match any pattern" tmp483))) ($sc-dispatch tmp483 (quote (any each-any any . 
each-any))))) e470) (if (memv type468 (quote (define-form define-syntax-form))) 
(syntax-violation #f "definition in expression context" e470 (wrap142 value469 
w472 mod474)) (if (memv type468 (quote (syntax))) (syntax-violation #f 
"reference to pattern variable outside syntax form" (source-wrap143 e470 w472 
s473 mod474)) (if (memv type468 (quote (displaced-lexical))) (syntax-violation 
#f "reference to identifier outside its scope" (source-wrap143 e470 w472 s473 
mod474)) (syntax-violation #f "unexpected syntax" (source-wrap143 e470 w472 
s473 mod474)))))))))))))))))) (chi150 (lambda (e492 r493 w494 mod495) 
(call-with-values (lambda () (syntax-type148 e492 r493 w494 #f #f mod495)) 
(lambda (type496 value497 e498 w499 s500 mod501) (chi-expr151 type496 value497 
e498 r493 w499 s500 mod501))))) (chi-top149 (lambda (e502 r503 w504 m505 
esew506 mod507) (call-with-values (lambda () (syntax-type148 e502 r503 w504 #f 
#f mod507)) (lambda (type515 value516 e517 w518 s519 mod520) (if (memv type515 
(quote (begin-form))) ((lambda (tmp521) ((lambda (tmp522) (if tmp522 (apply 
(lambda (_523) (chi-void158)) tmp522) ((lambda (tmp524) (if tmp524 (apply 
(lambda (_525 e1526 e2527) (chi-top-sequence145 (cons e1526 e2527) r503 w518 
s519 m505 esew506 mod520)) tmp524) (syntax-violation #f "source expression 
failed to match any pattern" tmp521))) ($sc-dispatch tmp521 (quote (any any . 
each-any)))))) ($sc-dispatch tmp521 (quote (any))))) e517) (if (memv type515 
(quote (local-syntax-form))) (chi-local-syntax156 value516 e517 r503 w518 s519 
mod520 (lambda (body529 r530 w531 s532 mod533) (chi-top-sequence145 body529 
r530 w531 s532 m505 esew506 mod533))) (if (memv type515 (quote 
(eval-when-form))) ((lambda (tmp534) ((lambda (tmp535) (if tmp535 (apply 
(lambda (_536 x537 e1538 e2539) (let ((when-list540 (chi-when-list147 e517 x537 
w518)) (body541 (cons e1538 e2539))) (if (eq? m505 (quote e)) (if (memq (quote 
eval) when-list540) (chi-top-sequence145 body541 r503 w518 s519 (quote e) 
(quote (eval)) mod520) (chi-void158)) (if (memq (quote load) when-list540) (if 
(let ((t544 (memq (quote compile) when-list540))) (if t544 t544 (if (eq? m505 
(quote c&e)) (memq (quote eval) when-list540) #f))) (chi-top-sequence145 
body541 r503 w518 s519 (quote c&e) (quote (compile load)) mod520) (if (memq 
m505 (quote (c c&e))) (chi-top-sequence145 body541 r503 w518 s519 (quote c) 
(quote (load)) mod520) (chi-void158))) (if (let ((t545 (memq (quote compile) 
when-list540))) (if t545 t545 (if (eq? m505 (quote c&e)) (memq (quote eval) 
when-list540) #f))) (begin (top-level-eval-hook76 (chi-top-sequence145 body541 
r503 w518 s519 (quote e) (quote (eval)) mod520) mod520) (chi-void158)) 
(chi-void158)))))) tmp535) (syntax-violation #f "source expression failed to 
match any pattern" tmp534))) ($sc-dispatch tmp534 (quote (any each-any any . 
each-any))))) e517) (if (memv type515 (quote (define-syntax-form))) (let ((n546 
(id-var-name136 value516 w518)) (r547 (macros-only-env110 r503))) (if (memv 
m505 (quote (c))) (if (memq (quote compile) esew506) (let ((e548 
(chi-install-global146 n546 (chi150 e517 r547 w518 mod520)))) (begin 
(top-level-eval-hook76 e548 mod520) (if (memq (quote load) esew506) e548 
(chi-void158)))) (if (memq (quote load) esew506) (chi-install-global146 n546 
(chi150 e517 r547 w518 mod520)) (chi-void158))) (if (memv m505 (quote (c&e))) 
(let ((e549 (chi-install-global146 n546 (chi150 e517 r547 w518 mod520)))) 
(begin (top-level-eval-hook76 e549 mod520) e549)) (begin (if (memq (quote eval) 
esew506) (top-level-eval-hook76 (chi-install-global146 n546 (chi150 e517 r547 
w518 mod520)) mod520)) (chi-void158))))) (if (memv type515 (quote 
(define-form))) (let ((n550 (id-var-name136 value516 w518))) (let ((type551 
(binding-type106 (lookup111 n550 r503 mod520)))) (if (memv type551 (quote 
(global core macro module-ref))) (let ((x552 (build-global-definition89 s519 
n550 (chi150 e517 r503 w518 mod520)))) (begin (if (eq? m505 (quote c&e)) 
(top-level-eval-hook76 x552 mod520)) x552)) (if (memv type551 (quote 
(displaced-lexical))) (syntax-violation #f "identifier out of context" e517 
(wrap142 value516 w518 mod520)) (syntax-violation #f "cannot define keyword at 
top level" e517 (wrap142 value516 w518 mod520)))))) (let ((x553 (chi-expr151 
type515 value516 e517 r503 w518 s519 mod520))) (begin (if (eq? m505 (quote 
c&e)) (top-level-eval-hook76 x553 mod520)) x553))))))))))) (syntax-type148 
(lambda (e554 r555 w556 s557 rib558 mod559) (if (symbol? e554) (let ((n560 
(id-var-name136 e554 w556))) (let ((b561 (lookup111 n560 r555 mod559))) (let 
((type562 (binding-type106 b561))) (if (memv type562 (quote (lexical))) (values 
type562 (binding-value107 b561) e554 w556 s557 mod559) (if (memv type562 (quote 
(global))) (values type562 n560 e554 w556 s557 mod559) (if (memv type562 (quote 
(macro))) (syntax-type148 (chi-macro153 (binding-value107 b561) e554 r555 w556 
rib558 mod559) r555 (quote (())) s557 rib558 mod559) (values type562 
(binding-value107 b561) e554 w556 s557 mod559))))))) (if (pair? e554) (let 
((first563 (car e554))) (if (id?114 first563) (let ((n564 (id-var-name136 
first563 w556))) (let ((b565 (lookup111 n564 r555 (let ((t566 (if 
(syntax-object?98 first563) (syntax-object-module101 first563) #f))) (if t566 
t566 mod559))))) (let ((type567 (binding-type106 b565))) (if (memv type567 
(quote (lexical))) (values (quote lexical-call) (binding-value107 b565) e554 
w556 s557 mod559) (if (memv type567 (quote (global))) (values (quote 
global-call) n564 e554 w556 s557 mod559) (if (memv type567 (quote (macro))) 
(syntax-type148 (chi-macro153 (binding-value107 b565) e554 r555 w556 rib558 
mod559) r555 (quote (())) s557 rib558 mod559) (if (memv type567 (quote (core 
external-macro module-ref))) (values type567 (binding-value107 b565) e554 w556 
s557 mod559) (if (memv type567 (quote (local-syntax))) (values (quote 
local-syntax-form) (binding-value107 b565) e554 w556 s557 mod559) (if (memv 
type567 (quote (begin))) (values (quote begin-form) #f e554 w556 s557 mod559) 
(if (memv type567 (quote (eval-when))) (values (quote eval-when-form) #f e554 
w556 s557 mod559) (if (memv type567 (quote (define))) ((lambda (tmp568) 
((lambda (tmp569) (if (if tmp569 (apply (lambda (_570 name571 val572) (id?114 
name571)) tmp569) #f) (apply (lambda (_573 name574 val575) (values (quote 
define-form) name574 val575 w556 s557 mod559)) tmp569) ((lambda (tmp576) (if 
(if tmp576 (apply (lambda (_577 name578 args579 e1580 e2581) (if (id?114 
name578) (valid-bound-ids?139 (lambda-var-list163 args579)) #f)) tmp576) #f) 
(apply (lambda (_582 name583 args584 e1585 e2586) (values (quote define-form) 
(wrap142 name583 w556 mod559) (cons (quote #(syntax-object lambda ((top) 
#(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" 
"i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage 
#(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) 
#(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var 
strip strip-annotation ellipsis? chi-void eval-local-transformer 
chi-local-syntax chi-lambda-clause 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 
unannotate 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 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 
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)) ("i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "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))) (wrap142 (cons args584 (cons e1585 e2586)) w556 
mod559)) (quote (())) s557 mod559)) tmp576) ((lambda (tmp588) (if (if tmp588 
(apply (lambda (_589 name590) (id?114 name590)) tmp588) #f) (apply (lambda 
(_591 name592) (values (quote define-form) (wrap142 name592 w556 mod559) (quote 
(#(syntax-object if ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) 
#(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) 
#((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage 
() () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage 
#(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () 
() ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) 
#("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 unannotate 
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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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 () () ()) #(ribcage #(type) 
#((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage 
() () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage 
#(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () 
() ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) 
#("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 unannotate 
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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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 () () ()) #(ribcage #(type) 
#((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage 
() () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage 
#(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () 
() ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) 
#("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 unannotate 
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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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)))) (quote 
(())) s557 mod559)) tmp588) (syntax-violation #f "source expression failed to 
match any pattern" tmp568))) ($sc-dispatch tmp568 (quote (any any)))))) 
($sc-dispatch tmp568 (quote (any (any . any) any . each-any)))))) ($sc-dispatch 
tmp568 (quote (any any any))))) e554) (if (memv type567 (quote 
(define-syntax))) ((lambda (tmp593) ((lambda (tmp594) (if (if tmp594 (apply 
(lambda (_595 name596 val597) (id?114 name596)) tmp594) #f) (apply (lambda 
(_598 name599 val600) (values (quote define-syntax-form) name599 val600 w556 
s557 mod559)) tmp594) (syntax-violation #f "source expression failed to match 
any pattern" tmp593))) ($sc-dispatch tmp593 (quote (any any any))))) e554) 
(values (quote call) #f e554 w556 s557 mod559))))))))))))) (values (quote call) 
#f e554 w556 s557 mod559))) (if (syntax-object?98 e554) (syntax-type148 
(syntax-object-expression99 e554) r555 (join-wraps133 w556 
(syntax-object-wrap100 e554)) #f rib558 (let ((t601 (syntax-object-module101 
e554))) (if t601 t601 mod559))) (if (annotation? e554) (syntax-type148 
(annotation-expression e554) r555 w556 (annotation-source e554) rib558 mod559) 
(if (self-evaluating? e554) (values (quote constant) #f e554 w556 s557 mod559) 
(values (quote other) #f e554 w556 s557 mod559)))))))) (chi-when-list147 
(lambda (e602 when-list603 w604) (letrec ((f605 (lambda (when-list606 
situations607) (if (null? when-list606) situations607 (f605 (cdr when-list606) 
(cons (let ((x608 (car when-list606))) (if (free-id=?137 x608 (quote 
#(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 strip-annotation ellipsis? 
chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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)))) (quote 
compile) (if (free-id=?137 x608 (quote #(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 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 unannotate 
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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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)))) (quote 
load) (if (free-id=?137 x608 (quote #(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 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 unannotate 
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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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)))) (quote 
eval) (syntax-violation (quote eval-when) "invalid situation" e602 (wrap142 
x608 w604 #f)))))) situations607)))))) (f605 when-list603 (quote ()))))) 
(chi-install-global146 (lambda (name609 e610) (build-global-definition89 #f 
name609 (if (let ((v611 (module-variable (current-module) name609))) (if v611 
(if (variable-bound? v611) (if (macro? (variable-ref v611)) (not (eq? 
(macro-type (variable-ref v611)) (quote syncase-macro))) #f) #f) #f)) 
(build-application81 #f (build-primref91 #f (quote 
make-extended-syncase-macro)) (list (build-application81 #f (build-primref91 #f 
(quote module-ref)) (list (build-application81 #f (build-primref91 #f (quote 
current-module)) (quote ())) (build-data92 #f name609))) (build-data92 #f 
(quote macro)) e610)) (build-application81 #f (build-primref91 #f (quote 
make-syncase-macro)) (list (build-data92 #f (quote macro)) e610)))))) 
(chi-top-sequence145 (lambda (body612 r613 w614 s615 m616 esew617 mod618) 
(build-sequence93 s615 (letrec ((dobody619 (lambda (body620 r621 w622 m623 
esew624 mod625) (if (null? body620) (quote ()) (let ((first626 (chi-top149 (car 
body620) r621 w622 m623 esew624 mod625))) (cons first626 (dobody619 (cdr 
body620) r621 w622 m623 esew624 mod625))))))) (dobody619 body612 r613 w614 m616 
esew617 mod618))))) (chi-sequence144 (lambda (body627 r628 w629 s630 mod631) 
(build-sequence93 s630 (letrec ((dobody632 (lambda (body633 r634 w635 mod636) 
(if (null? body633) (quote ()) (let ((first637 (chi150 (car body633) r634 w635 
mod636))) (cons first637 (dobody632 (cdr body633) r634 w635 mod636))))))) 
(dobody632 body627 r628 w629 mod631))))) (source-wrap143 (lambda (x638 w639 
s640 defmod641) (wrap142 (if s640 (make-annotation x638 s640 #f) x638) w639 
defmod641))) (wrap142 (lambda (x642 w643 defmod644) (if (if (null? 
(wrap-marks117 w643)) (null? (wrap-subst118 w643)) #f) x642 (if 
(syntax-object?98 x642) (make-syntax-object97 (syntax-object-expression99 x642) 
(join-wraps133 w643 (syntax-object-wrap100 x642)) (syntax-object-module101 
x642)) (if (null? x642) x642 (make-syntax-object97 x642 w643 defmod644)))))) 
(bound-id-member?141 (lambda (x645 list646) (if (not (null? list646)) (let 
((t647 (bound-id=?138 x645 (car list646)))) (if t647 t647 (bound-id-member?141 
x645 (cdr list646)))) #f))) (distinct-bound-ids?140 (lambda (ids648) (letrec 
((distinct?649 (lambda (ids650) (let ((t651 (null? ids650))) (if t651 t651 (if 
(not (bound-id-member?141 (car ids650) (cdr ids650))) (distinct?649 (cdr 
ids650)) #f)))))) (distinct?649 ids648)))) (valid-bound-ids?139 (lambda 
(ids652) (if (letrec ((all-ids?653 (lambda (ids654) (let ((t655 (null? 
ids654))) (if t655 t655 (if (id?114 (car ids654)) (all-ids?653 (cdr ids654)) 
#f)))))) (all-ids?653 ids652)) (distinct-bound-ids?140 ids652) #f))) 
(bound-id=?138 (lambda (i656 j657) (if (if (syntax-object?98 i656) 
(syntax-object?98 j657) #f) (if (eq? (let ((e658 (syntax-object-expression99 
i656))) (if (annotation? e658) (annotation-expression e658) e658)) (let ((e659 
(syntax-object-expression99 j657))) (if (annotation? e659) 
(annotation-expression e659) e659))) (same-marks?135 (wrap-marks117 
(syntax-object-wrap100 i656)) (wrap-marks117 (syntax-object-wrap100 j657))) #f) 
(eq? (let ((e660 i656)) (if (annotation? e660) (annotation-expression e660) 
e660)) (let ((e661 j657)) (if (annotation? e661) (annotation-expression e661) 
e661)))))) (free-id=?137 (lambda (i662 j663) (if (eq? (let ((x664 i662)) (let 
((e665 (if (syntax-object?98 x664) (syntax-object-expression99 x664) x664))) 
(if (annotation? e665) (annotation-expression e665) e665))) (let ((x666 j663)) 
(let ((e667 (if (syntax-object?98 x666) (syntax-object-expression99 x666) 
x666))) (if (annotation? e667) (annotation-expression e667) e667)))) (eq? 
(id-var-name136 i662 (quote (()))) (id-var-name136 j663 (quote (())))) #f))) 
(id-var-name136 (lambda (id668 w669) (letrec ((search-vector-rib672 (lambda 
(sym678 subst679 marks680 symnames681 ribcage682) (let ((n683 (vector-length 
symnames681))) (letrec ((f684 (lambda (i685) (if (fx=74 i685 n683) (search670 
sym678 (cdr subst679) marks680) (if (if (eq? (vector-ref symnames681 i685) 
sym678) (same-marks?135 marks680 (vector-ref (ribcage-marks124 ribcage682) 
i685)) #f) (values (vector-ref (ribcage-labels125 ribcage682) i685) marks680) 
(f684 (fx+72 i685 1))))))) (f684 0))))) (search-list-rib671 (lambda (sym686 
subst687 marks688 symnames689 ribcage690) (letrec ((f691 (lambda (symnames692 
i693) (if (null? symnames692) (search670 sym686 (cdr subst687) marks688) (if 
(if (eq? (car symnames692) sym686) (same-marks?135 marks688 (list-ref 
(ribcage-marks124 ribcage690) i693)) #f) (values (list-ref (ribcage-labels125 
ribcage690) i693) marks688) (f691 (cdr symnames692) (fx+72 i693 1))))))) (f691 
symnames689 0)))) (search670 (lambda (sym694 subst695 marks696) (if (null? 
subst695) (values #f marks696) (let ((fst697 (car subst695))) (if (eq? fst697 
(quote shift)) (search670 sym694 (cdr subst695) (cdr marks696)) (let 
((symnames698 (ribcage-symnames123 fst697))) (if (vector? symnames698) 
(search-vector-rib672 sym694 subst695 marks696 symnames698 fst697) 
(search-list-rib671 sym694 subst695 marks696 symnames698 fst697))))))))) (if 
(symbol? id668) (let ((t699 (call-with-values (lambda () (search670 id668 
(wrap-subst118 w669) (wrap-marks117 w669))) (lambda (x701 . ignore700) x701)))) 
(if t699 t699 id668)) (if (syntax-object?98 id668) (let ((id702 (let ((e704 
(syntax-object-expression99 id668))) (if (annotation? e704) 
(annotation-expression e704) e704))) (w1703 (syntax-object-wrap100 id668))) 
(let ((marks705 (join-marks134 (wrap-marks117 w669) (wrap-marks117 w1703)))) 
(call-with-values (lambda () (search670 id702 (wrap-subst118 w669) marks705)) 
(lambda (new-id706 marks707) (let ((t708 new-id706)) (if t708 t708 (let ((t709 
(call-with-values (lambda () (search670 id702 (wrap-subst118 w1703) marks707)) 
(lambda (x711 . ignore710) x711)))) (if t709 t709 id702)))))))) (if 
(annotation? id668) (let ((id712 (let ((e713 id668)) (if (annotation? e713) 
(annotation-expression e713) e713)))) (let ((t714 (call-with-values (lambda () 
(search670 id712 (wrap-subst118 w669) (wrap-marks117 w669))) (lambda (x716 . 
ignore715) x716)))) (if t714 t714 id712))) (syntax-violation (quote 
id-var-name) "invalid id" id668))))))) (same-marks?135 (lambda (x717 y718) (let 
((t719 (eq? x717 y718))) (if t719 t719 (if (not (null? x717)) (if (not (null? 
y718)) (if (eq? (car x717) (car y718)) (same-marks?135 (cdr x717) (cdr y718)) 
#f) #f) #f))))) (join-marks134 (lambda (m1720 m2721) (smart-append132 m1720 
m2721))) (join-wraps133 (lambda (w1722 w2723) (let ((m1724 (wrap-marks117 
w1722)) (s1725 (wrap-subst118 w1722))) (if (null? m1724) (if (null? s1725) 
w2723 (make-wrap116 (wrap-marks117 w2723) (smart-append132 s1725 (wrap-subst118 
w2723)))) (make-wrap116 (smart-append132 m1724 (wrap-marks117 w2723)) 
(smart-append132 s1725 (wrap-subst118 w2723))))))) (smart-append132 (lambda 
(m1726 m2727) (if (null? m2727) m1726 (append m1726 m2727)))) 
(make-binding-wrap131 (lambda (ids728 labels729 w730) (if (null? ids728) w730 
(make-wrap116 (wrap-marks117 w730) (cons (let ((labelvec731 (list->vector 
labels729))) (let ((n732 (vector-length labelvec731))) (let ((symnamevec733 
(make-vector n732)) (marksvec734 (make-vector n732))) (begin (letrec ((f735 
(lambda (ids736 i737) (if (not (null? ids736)) (call-with-values (lambda () 
(id-sym-name&marks115 (car ids736) w730)) (lambda (symname738 marks739) (begin 
(vector-set! symnamevec733 i737 symname738) (vector-set! marksvec734 i737 
marks739) (f735 (cdr ids736) (fx+72 i737 1))))))))) (f735 ids728 0)) 
(make-ribcage121 symnamevec733 marksvec734 labelvec731))))) (wrap-subst118 
w730)))))) (extend-ribcage!130 (lambda (ribcage740 id741 label742) (begin 
(set-ribcage-symnames!126 ribcage740 (cons (let ((e743 
(syntax-object-expression99 id741))) (if (annotation? e743) 
(annotation-expression e743) e743)) (ribcage-symnames123 ribcage740))) 
(set-ribcage-marks!127 ribcage740 (cons (wrap-marks117 (syntax-object-wrap100 
id741)) (ribcage-marks124 ribcage740))) (set-ribcage-labels!128 ribcage740 
(cons label742 (ribcage-labels125 ribcage740)))))) (anti-mark129 (lambda (w744) 
(make-wrap116 (cons #f (wrap-marks117 w744)) (cons (quote shift) (wrap-subst118 
w744))))) (set-ribcage-labels!128 (lambda (x745 update746) (vector-set! x745 3 
update746))) (set-ribcage-marks!127 (lambda (x747 update748) (vector-set! x747 
2 update748))) (set-ribcage-symnames!126 (lambda (x749 update750) (vector-set! 
x749 1 update750))) (ribcage-labels125 (lambda (x751) (vector-ref x751 3))) 
(ribcage-marks124 (lambda (x752) (vector-ref x752 2))) (ribcage-symnames123 
(lambda (x753) (vector-ref x753 1))) (ribcage?122 (lambda (x754) (if (vector? 
x754) (if (= (vector-length x754) 4) (eq? (vector-ref x754 0) (quote ribcage)) 
#f) #f))) (make-ribcage121 (lambda (symnames755 marks756 labels757) (vector 
(quote ribcage) symnames755 marks756 labels757))) (gen-labels120 (lambda 
(ls758) (if (null? ls758) (quote ()) (cons (gen-label119) (gen-labels120 (cdr 
ls758)))))) (gen-label119 (lambda () (string #\i))) (wrap-subst118 cdr) 
(wrap-marks117 car) (make-wrap116 cons) (id-sym-name&marks115 (lambda (x759 
w760) (if (syntax-object?98 x759) (values (let ((e761 
(syntax-object-expression99 x759))) (if (annotation? e761) 
(annotation-expression e761) e761)) (join-marks134 (wrap-marks117 w760) 
(wrap-marks117 (syntax-object-wrap100 x759)))) (values (let ((e762 x759)) (if 
(annotation? e762) (annotation-expression e762) e762)) (wrap-marks117 w760))))) 
(id?114 (lambda (x763) (if (symbol? x763) #t (if (syntax-object?98 x763) 
(symbol? (let ((e764 (syntax-object-expression99 x763))) (if (annotation? e764) 
(annotation-expression e764) e764))) (if (annotation? x763) (symbol? 
(annotation-expression x763)) #f))))) (nonsymbol-id?113 (lambda (x765) (if 
(syntax-object?98 x765) (symbol? (let ((e766 (syntax-object-expression99 
x765))) (if (annotation? e766) (annotation-expression e766) e766))) #f))) 
(global-extend112 (lambda (type767 sym768 val769) (put-global-definition-hook78 
sym768 type767 val769))) (lookup111 (lambda (x770 r771 mod772) (let ((t773 
(assq x770 r771))) (if t773 (cdr t773) (if (symbol? x770) (let ((t774 
(get-global-definition-hook79 x770 mod772))) (if t774 t774 (quote (global)))) 
(quote (displaced-lexical))))))) (macros-only-env110 (lambda (r775) (if (null? 
r775) (quote ()) (let ((a776 (car r775))) (if (eq? (cadr a776) (quote macro)) 
(cons a776 (macros-only-env110 (cdr r775))) (macros-only-env110 (cdr 
r775))))))) (extend-var-env109 (lambda (labels777 vars778 r779) (if (null? 
labels777) r779 (extend-var-env109 (cdr labels777) (cdr vars778) (cons (cons 
(car labels777) (cons (quote lexical) (car vars778))) r779))))) (extend-env108 
(lambda (labels780 bindings781 r782) (if (null? labels780) r782 (extend-env108 
(cdr labels780) (cdr bindings781) (cons (cons (car labels780) (car 
bindings781)) r782))))) (binding-value107 cdr) (binding-type106 car) 
(source-annotation105 (lambda (x783) (if (annotation? x783) (annotation-source 
x783) (if (syntax-object?98 x783) (source-annotation105 
(syntax-object-expression99 x783)) #f)))) (set-syntax-object-module!104 (lambda 
(x784 update785) (vector-set! x784 3 update785))) (set-syntax-object-wrap!103 
(lambda (x786 update787) (vector-set! x786 2 update787))) 
(set-syntax-object-expression!102 (lambda (x788 update789) (vector-set! x788 1 
update789))) (syntax-object-module101 (lambda (x790) (vector-ref x790 3))) 
(syntax-object-wrap100 (lambda (x791) (vector-ref x791 2))) 
(syntax-object-expression99 (lambda (x792) (vector-ref x792 1))) 
(syntax-object?98 (lambda (x793) (if (vector? x793) (if (= (vector-length x793) 
4) (eq? (vector-ref x793 0) (quote syntax-object)) #f) #f))) 
(make-syntax-object97 (lambda (expression794 wrap795 module796) (vector (quote 
syntax-object) expression794 wrap795 module796))) (build-letrec96 (lambda 
(src797 ids798 vars799 val-exps800 body-exp801) (if (null? vars799) body-exp801 
(let ((atom-key802 (fluid-ref *mode*71))) (if (memv atom-key802 (quote (c))) 
(begin (for-each maybe-name-value!88 ids798 val-exps800) ((@ (language tree-il) 
make-letrec) src797 ids798 vars799 val-exps800 body-exp801)) (list (quote 
letrec) (map list vars799 val-exps800) body-exp801)))))) (build-named-let95 
(lambda (src803 ids804 vars805 val-exps806 body-exp807) (let ((f808 (car 
vars805)) (f-name809 (car ids804)) (vars810 (cdr vars805)) (ids811 (cdr 
ids804))) (let ((atom-key812 (fluid-ref *mode*71))) (if (memv atom-key812 
(quote (c))) (let ((proc813 (build-lambda90 src803 ids811 vars810 #f 
body-exp807))) (begin (maybe-name-value!88 f-name809 proc813) (for-each 
maybe-name-value!88 ids811 val-exps806) ((@ (language tree-il) make-letrec) 
src803 (list f-name809) (list f808) (list proc813) (build-application81 src803 
(build-lexical-reference83 (quote fun) src803 f-name809 f808) val-exps806)))) 
(list (quote let) f808 (map list vars810 val-exps806) body-exp807)))))) 
(build-let94 (lambda (src814 ids815 vars816 val-exps817 body-exp818) (if (null? 
vars816) body-exp818 (let ((atom-key819 (fluid-ref *mode*71))) (if (memv 
atom-key819 (quote (c))) (begin (for-each maybe-name-value!88 ids815 
val-exps817) ((@ (language tree-il) make-let) src814 ids815 vars816 val-exps817 
body-exp818)) (list (quote let) (map list vars816 val-exps817) 
body-exp818)))))) (build-sequence93 (lambda (src820 exps821) (if (null? (cdr 
exps821)) (car exps821) (let ((atom-key822 (fluid-ref *mode*71))) (if (memv 
atom-key822 (quote (c))) ((@ (language tree-il) make-sequence) src820 exps821) 
(cons (quote begin) exps821)))))) (build-data92 (lambda (src823 exp824) (let 
((atom-key825 (fluid-ref *mode*71))) (if (memv atom-key825 (quote (c))) ((@ 
(language tree-il) make-const) src823 exp824) (if (if (self-evaluating? exp824) 
(not (vector? exp824)) #f) exp824 (list (quote quote) exp824)))))) 
(build-primref91 (lambda (src826 name827) (if (equal? (module-name 
(current-module)) (quote (guile))) (let ((atom-key828 (fluid-ref *mode*71))) 
(if (memv atom-key828 (quote (c))) ((@ (language tree-il) make-toplevel-ref) 
src826 name827) name827)) (let ((atom-key829 (fluid-ref *mode*71))) (if (memv 
atom-key829 (quote (c))) ((@ (language tree-il) make-module-ref) src826 (quote 
(guile)) name827 #f) (list (quote @@) (quote (guile)) name827)))))) 
(build-lambda90 (lambda (src830 ids831 vars832 docstring833 exp834) (let 
((atom-key835 (fluid-ref *mode*71))) (if (memv atom-key835 (quote (c))) ((@ 
(language tree-il) make-lambda) src830 ids831 vars832 (if docstring833 (list 
(cons (quote documentation) docstring833)) (quote ())) exp834) (cons (quote 
lambda) (cons vars832 (append (if docstring833 (list docstring833) (quote ())) 
(list exp834)))))))) (build-global-definition89 (lambda (source836 var837 
exp838) (let ((atom-key839 (fluid-ref *mode*71))) (if (memv atom-key839 (quote 
(c))) (begin (maybe-name-value!88 var837 exp838) ((@ (language tree-il) 
make-toplevel-define) source836 var837 exp838)) (list (quote define) var837 
exp838))))) (maybe-name-value!88 (lambda (name840 val841) (if ((@ (language 
tree-il) lambda?) val841) (let ((meta842 ((@ (language tree-il) lambda-meta) 
val841))) (if (not (assq (quote name) meta842)) ((setter (@ (language tree-il) 
lambda-meta)) val841 (acons (quote name) name840 meta842))))))) 
(build-global-assignment87 (lambda (source843 var844 exp845 mod846) 
(analyze-variable85 mod846 var844 (lambda (mod847 var848 public?849) (let 
((atom-key850 (fluid-ref *mode*71))) (if (memv atom-key850 (quote (c))) ((@ 
(language tree-il) make-module-set) source843 mod847 var848 public?849 exp845) 
(list (quote set!) (list (if public?849 (quote @) (quote @@)) mod847 var848) 
exp845)))) (lambda (var851) (let ((atom-key852 (fluid-ref *mode*71))) (if (memv 
atom-key852 (quote (c))) ((@ (language tree-il) make-toplevel-set) source843 
var851 exp845) (list (quote set!) var851 exp845))))))) 
(build-global-reference86 (lambda (source853 var854 mod855) (analyze-variable85 
mod855 var854 (lambda (mod856 var857 public?858) (let ((atom-key859 (fluid-ref 
*mode*71))) (if (memv atom-key859 (quote (c))) ((@ (language tree-il) 
make-module-ref) source853 mod856 var857 public?858) (list (if public?858 
(quote @) (quote @@)) mod856 var857)))) (lambda (var860) (let ((atom-key861 
(fluid-ref *mode*71))) (if (memv atom-key861 (quote (c))) ((@ (language 
tree-il) make-toplevel-ref) source853 var860) var860)))))) (analyze-variable85 
(lambda (mod862 var863 modref-cont864 bare-cont865) (if (not mod862) 
(bare-cont865 var863) (let ((kind866 (car mod862)) (mod867 (cdr mod862))) (if 
(memv kind866 (quote (public))) (modref-cont864 mod867 var863 #t) (if (memv 
kind866 (quote (private))) (if (not (equal? mod867 (module-name 
(current-module)))) (modref-cont864 mod867 var863 #f) (bare-cont865 var863)) 
(if (memv kind866 (quote (bare))) (bare-cont865 var863) (if (memv kind866 
(quote (hygiene))) (if (if (not (equal? mod867 (module-name (current-module)))) 
(module-variable (resolve-module mod867) var863) #f) (modref-cont864 mod867 
var863 #f) (bare-cont865 var863)) (syntax-violation #f "bad module kind" var863 
mod867))))))))) (build-lexical-assignment84 (lambda (source868 name869 var870 
exp871) (let ((atom-key872 (fluid-ref *mode*71))) (if (memv atom-key872 (quote 
(c))) ((@ (language tree-il) make-lexical-set) source868 name869 var870 exp871) 
(list (quote set!) var870 exp871))))) (build-lexical-reference83 (lambda 
(type873 source874 name875 var876) (let ((atom-key877 (fluid-ref *mode*71))) 
(if (memv atom-key877 (quote (c))) ((@ (language tree-il) make-lexical-ref) 
source874 name875 var876) var876)))) (build-conditional82 (lambda (source878 
test-exp879 then-exp880 else-exp881) (let ((atom-key882 (fluid-ref *mode*71))) 
(if (memv atom-key882 (quote (c))) ((@ (language tree-il) make-conditional) 
source878 test-exp879 then-exp880 else-exp881) (if (equal? else-exp881 (quote 
(if #f #f))) (list (quote if) test-exp879 then-exp880) (list (quote if) 
test-exp879 then-exp880 else-exp881)))))) (build-application81 (lambda 
(source883 fun-exp884 arg-exps885) (let ((atom-key886 (fluid-ref *mode*71))) 
(if (memv atom-key886 (quote (c))) ((@ (language tree-il) make-application) 
source883 fun-exp884 arg-exps885) (cons fun-exp884 arg-exps885))))) 
(build-void80 (lambda (source887) (let ((atom-key888 (fluid-ref *mode*71))) (if 
(memv atom-key888 (quote (c))) ((@ (language tree-il) make-void) source887) 
(quote (if #f #f)))))) (get-global-definition-hook79 (lambda (symbol889 
module890) (begin (if (if (not module890) (current-module) #f) (warn "module 
system is booted, we should have a module" symbol889)) (let ((v891 
(module-variable (if module890 (resolve-module (cdr module890)) 
(current-module)) symbol889))) (if v891 (if (variable-bound? v891) (let 
((val892 (variable-ref v891))) (if (macro? val892) (if (syncase-macro-type 
val892) (cons (syncase-macro-type val892) (syncase-macro-binding val892)) #f) 
#f)) #f) #f))))) (put-global-definition-hook78 (lambda (symbol893 type894 
val895) (let ((existing896 (let ((v897 (module-variable (current-module) 
symbol893))) (if v897 (if (variable-bound? v897) (let ((val898 (variable-ref 
v897))) (if (macro? val898) (if (not (syncase-macro-type val898)) val898 #f) 
#f)) #f) #f)))) (module-define! (current-module) symbol893 (if existing896 
(make-extended-syncase-macro existing896 type894 val895) (make-syncase-macro 
type894 val895)))))) (local-eval-hook77 (lambda (x899 mod900) (primitive-eval 
(list noexpand70 (let ((atom-key901 (fluid-ref *mode*71))) (if (memv 
atom-key901 (quote (c))) ((@ (language tree-il) tree-il->scheme) x899) 
x899)))))) (top-level-eval-hook76 (lambda (x902 mod903) (primitive-eval (list 
noexpand70 (let ((atom-key904 (fluid-ref *mode*71))) (if (memv atom-key904 
(quote (c))) ((@ (language tree-il) tree-il->scheme) x902) x902)))))) (fx<75 <) 
(fx=74 =) (fx-73 -) (fx+72 +) (*mode*71 (make-fluid)) (noexpand70 "noexpand")) 
(begin (global-extend112 (quote local-syntax) (quote letrec-syntax) #t) 
(global-extend112 (quote local-syntax) (quote let-syntax) #f) (global-extend112 
(quote core) (quote fluid-let-syntax) (lambda (e905 r906 w907 s908 mod909) 
((lambda (tmp910) ((lambda (tmp911) (if (if tmp911 (apply (lambda (_912 var913 
val914 e1915 e2916) (valid-bound-ids?139 var913)) tmp911) #f) (apply (lambda 
(_918 var919 val920 e1921 e2922) (let ((names923 (map (lambda (x924) 
(id-var-name136 x924 w907)) var919))) (begin (for-each (lambda (id926 n927) 
(let ((atom-key928 (binding-type106 (lookup111 n927 r906 mod909)))) (if (memv 
atom-key928 (quote (displaced-lexical))) (syntax-violation (quote 
fluid-let-syntax) "identifier out of context" e905 (source-wrap143 id926 w907 
s908 mod909))))) var919 names923) (chi-body154 (cons e1921 e2922) 
(source-wrap143 e905 w907 s908 mod909) (extend-env108 names923 (let 
((trans-r931 (macros-only-env110 r906))) (map (lambda (x932) (cons (quote 
macro) (eval-local-transformer157 (chi150 x932 trans-r931 w907 mod909) 
mod909))) val920)) r906) w907 mod909)))) tmp911) ((lambda (_934) 
(syntax-violation (quote fluid-let-syntax) "bad syntax" (source-wrap143 e905 
w907 s908 mod909))) tmp910))) ($sc-dispatch tmp910 (quote (any #(each (any 
any)) any . each-any))))) e905))) (global-extend112 (quote core) (quote quote) 
(lambda (e935 r936 w937 s938 mod939) ((lambda (tmp940) ((lambda (tmp941) (if 
tmp941 (apply (lambda (_942 e943) (build-data92 s938 (strip161 e943 w937))) 
tmp941) ((lambda (_944) (syntax-violation (quote quote) "bad syntax" 
(source-wrap143 e935 w937 s938 mod939))) tmp940))) ($sc-dispatch tmp940 (quote 
(any any))))) e935))) (global-extend112 (quote core) (quote syntax) (letrec 
((regen952 (lambda (x953) (let ((atom-key954 (car x953))) (if (memv atom-key954 
(quote (ref))) (build-lexical-reference83 (quote value) #f (cadr x953) (cadr 
x953)) (if (memv atom-key954 (quote (primitive))) (build-primref91 #f (cadr 
x953)) (if (memv atom-key954 (quote (quote))) (build-data92 #f (cadr x953)) (if 
(memv atom-key954 (quote (lambda))) (build-lambda90 #f (cadr x953) (cadr x953) 
#f (regen952 (caddr x953))) (if (memv atom-key954 (quote (map))) (let ((ls955 
(map regen952 (cdr x953)))) (build-application81 #f (build-primref91 #f (quote 
map)) ls955)) (build-application81 #f (build-primref91 #f (car x953)) (map 
regen952 (cdr x953))))))))))) (gen-vector951 (lambda (x956) (if (eq? (car x956) 
(quote list)) (cons (quote vector) (cdr x956)) (if (eq? (car x956) (quote 
quote)) (list (quote quote) (list->vector (cadr x956))) (list (quote 
list->vector) x956))))) (gen-append950 (lambda (x957 y958) (if (equal? y958 
(quote (quote ()))) x957 (list (quote append) x957 y958)))) (gen-cons949 
(lambda (x959 y960) (let ((atom-key961 (car y960))) (if (memv atom-key961 
(quote (quote))) (if (eq? (car x959) (quote quote)) (list (quote quote) (cons 
(cadr x959) (cadr y960))) (if (eq? (cadr y960) (quote ())) (list (quote list) 
x959) (list (quote cons) x959 y960))) (if (memv atom-key961 (quote (list))) 
(cons (quote list) (cons x959 (cdr y960))) (list (quote cons) x959 y960)))))) 
(gen-map948 (lambda (e962 map-env963) (let ((formals964 (map cdr map-env963)) 
(actuals965 (map (lambda (x966) (list (quote ref) (car x966))) map-env963))) 
(if (eq? (car e962) (quote ref)) (car actuals965) (if (and-map (lambda (x967) 
(if (eq? (car x967) (quote ref)) (memq (cadr x967) formals964) #f)) (cdr e962)) 
(cons (quote map) (cons (list (quote primitive) (car e962)) (map (let ((r968 
(map cons formals964 actuals965))) (lambda (x969) (cdr (assq (cadr x969) 
r968)))) (cdr e962)))) (cons (quote map) (cons (list (quote lambda) formals964 
e962) actuals965))))))) (gen-mappend947 (lambda (e970 map-env971) (list (quote 
apply) (quote (primitive append)) (gen-map948 e970 map-env971)))) (gen-ref946 
(lambda (src972 var973 level974 maps975) (if (fx=74 level974 0) (values var973 
maps975) (if (null? maps975) (syntax-violation (quote syntax) "missing 
ellipsis" src972) (call-with-values (lambda () (gen-ref946 src972 var973 (fx-73 
level974 1) (cdr maps975))) (lambda (outer-var976 outer-maps977) (let ((b978 
(assq outer-var976 (car maps975)))) (if b978 (values (cdr b978) maps975) (let 
((inner-var979 (gen-var162 (quote tmp)))) (values inner-var979 (cons (cons 
(cons outer-var976 inner-var979) (car maps975)) outer-maps977))))))))))) 
(gen-syntax945 (lambda (src980 e981 r982 maps983 ellipsis?984 mod985) (if 
(id?114 e981) (let ((label986 (id-var-name136 e981 (quote (()))))) (let ((b987 
(lookup111 label986 r982 mod985))) (if (eq? (binding-type106 b987) (quote 
syntax)) (call-with-values (lambda () (let ((var.lev988 (binding-value107 
b987))) (gen-ref946 src980 (car var.lev988) (cdr var.lev988) maps983))) (lambda 
(var989 maps990) (values (list (quote ref) var989) maps990))) (if (ellipsis?984 
e981) (syntax-violation (quote syntax) "misplaced ellipsis" src980) (values 
(list (quote quote) e981) maps983))))) ((lambda (tmp991) ((lambda (tmp992) (if 
(if tmp992 (apply (lambda (dots993 e994) (ellipsis?984 dots993)) tmp992) #f) 
(apply (lambda (dots995 e996) (gen-syntax945 src980 e996 r982 maps983 (lambda 
(x997) #f) mod985)) tmp992) ((lambda (tmp998) (if (if tmp998 (apply (lambda 
(x999 dots1000 y1001) (ellipsis?984 dots1000)) tmp998) #f) (apply (lambda 
(x1002 dots1003 y1004) (letrec ((f1005 (lambda (y1006 k1007) ((lambda (tmp1011) 
((lambda (tmp1012) (if (if tmp1012 (apply (lambda (dots1013 y1014) 
(ellipsis?984 dots1013)) tmp1012) #f) (apply (lambda (dots1015 y1016) (f1005 
y1016 (lambda (maps1017) (call-with-values (lambda () (k1007 (cons (quote ()) 
maps1017))) (lambda (x1018 maps1019) (if (null? (car maps1019)) 
(syntax-violation (quote syntax) "extra ellipsis" src980) (values 
(gen-mappend947 x1018 (car maps1019)) (cdr maps1019)))))))) tmp1012) ((lambda 
(_1020) (call-with-values (lambda () (gen-syntax945 src980 y1006 r982 maps983 
ellipsis?984 mod985)) (lambda (y1021 maps1022) (call-with-values (lambda () 
(k1007 maps1022)) (lambda (x1023 maps1024) (values (gen-append950 x1023 y1021) 
maps1024)))))) tmp1011))) ($sc-dispatch tmp1011 (quote (any . any))))) 
y1006)))) (f1005 y1004 (lambda (maps1008) (call-with-values (lambda () 
(gen-syntax945 src980 x1002 r982 (cons (quote ()) maps1008) ellipsis?984 
mod985)) (lambda (x1009 maps1010) (if (null? (car maps1010)) (syntax-violation 
(quote syntax) "extra ellipsis" src980) (values (gen-map948 x1009 (car 
maps1010)) (cdr maps1010))))))))) tmp998) ((lambda (tmp1025) (if tmp1025 (apply 
(lambda (x1026 y1027) (call-with-values (lambda () (gen-syntax945 src980 x1026 
r982 maps983 ellipsis?984 mod985)) (lambda (x1028 maps1029) (call-with-values 
(lambda () (gen-syntax945 src980 y1027 r982 maps1029 ellipsis?984 mod985)) 
(lambda (y1030 maps1031) (values (gen-cons949 x1028 y1030) maps1031)))))) 
tmp1025) ((lambda (tmp1032) (if tmp1032 (apply (lambda (e11033 e21034) 
(call-with-values (lambda () (gen-syntax945 src980 (cons e11033 e21034) r982 
maps983 ellipsis?984 mod985)) (lambda (e1036 maps1037) (values (gen-vector951 
e1036) maps1037)))) tmp1032) ((lambda (_1038) (values (list (quote quote) e981) 
maps983)) tmp991))) ($sc-dispatch tmp991 (quote #(vector (any . each-any))))))) 
($sc-dispatch tmp991 (quote (any . any)))))) ($sc-dispatch tmp991 (quote (any 
any . any)))))) ($sc-dispatch tmp991 (quote (any any))))) e981))))) (lambda 
(e1039 r1040 w1041 s1042 mod1043) (let ((e1044 (source-wrap143 e1039 w1041 
s1042 mod1043))) ((lambda (tmp1045) ((lambda (tmp1046) (if tmp1046 (apply 
(lambda (_1047 x1048) (call-with-values (lambda () (gen-syntax945 e1044 x1048 
r1040 (quote ()) ellipsis?159 mod1043)) (lambda (e1049 maps1050) (regen952 
e1049)))) tmp1046) ((lambda (_1051) (syntax-violation (quote syntax) "bad 
`syntax' form" e1044)) tmp1045))) ($sc-dispatch tmp1045 (quote (any any))))) 
e1044))))) (global-extend112 (quote core) (quote lambda) (lambda (e1052 r1053 
w1054 s1055 mod1056) ((lambda (tmp1057) ((lambda (tmp1058) (if tmp1058 (apply 
(lambda (_1059 c1060) (chi-lambda-clause155 (source-wrap143 e1052 w1054 s1055 
mod1056) #f c1060 r1053 w1054 mod1056 (lambda (names1061 vars1062 docstring1063 
body1064) (build-lambda90 s1055 names1061 vars1062 docstring1063 body1064)))) 
tmp1058) (syntax-violation #f "source expression failed to match any pattern" 
tmp1057))) ($sc-dispatch tmp1057 (quote (any . any))))) e1052))) 
(global-extend112 (quote core) (quote let) (letrec ((chi-let1065 (lambda (e1066 
r1067 w1068 s1069 mod1070 constructor1071 ids1072 vals1073 exps1074) (if (not 
(valid-bound-ids?139 ids1072)) (syntax-violation (quote let) "duplicate bound 
variable" e1066) (let ((labels1075 (gen-labels120 ids1072)) (new-vars1076 (map 
gen-var162 ids1072))) (let ((nw1077 (make-binding-wrap131 ids1072 labels1075 
w1068)) (nr1078 (extend-var-env109 labels1075 new-vars1076 r1067))) 
(constructor1071 s1069 (map syntax->datum ids1072) new-vars1076 (map (lambda 
(x1079) (chi150 x1079 r1067 w1068 mod1070)) vals1073) (chi-body154 exps1074 
(source-wrap143 e1066 nw1077 s1069 mod1070) nr1078 nw1077 mod1070)))))))) 
(lambda (e1080 r1081 w1082 s1083 mod1084) ((lambda (tmp1085) ((lambda (tmp1086) 
(if (if tmp1086 (apply (lambda (_1087 id1088 val1089 e11090 e21091) (and-map 
id?114 id1088)) tmp1086) #f) (apply (lambda (_1093 id1094 val1095 e11096 
e21097) (chi-let1065 e1080 r1081 w1082 s1083 mod1084 build-let94 id1094 val1095 
(cons e11096 e21097))) tmp1086) ((lambda (tmp1101) (if (if tmp1101 (apply 
(lambda (_1102 f1103 id1104 val1105 e11106 e21107) (if (id?114 f1103) (and-map 
id?114 id1104) #f)) tmp1101) #f) (apply (lambda (_1109 f1110 id1111 val1112 
e11113 e21114) (chi-let1065 e1080 r1081 w1082 s1083 mod1084 build-named-let95 
(cons f1110 id1111) val1112 (cons e11113 e21114))) tmp1101) ((lambda (_1118) 
(syntax-violation (quote let) "bad let" (source-wrap143 e1080 w1082 s1083 
mod1084))) tmp1085))) ($sc-dispatch tmp1085 (quote (any any #(each (any any)) 
any . each-any)))))) ($sc-dispatch tmp1085 (quote (any #(each (any any)) any . 
each-any))))) e1080)))) (global-extend112 (quote core) (quote letrec) (lambda 
(e1119 r1120 w1121 s1122 mod1123) ((lambda (tmp1124) ((lambda (tmp1125) (if (if 
tmp1125 (apply (lambda (_1126 id1127 val1128 e11129 e21130) (and-map id?114 
id1127)) tmp1125) #f) (apply (lambda (_1132 id1133 val1134 e11135 e21136) (let 
((ids1137 id1133)) (if (not (valid-bound-ids?139 ids1137)) (syntax-violation 
(quote letrec) "duplicate bound variable" e1119) (let ((labels1139 
(gen-labels120 ids1137)) (new-vars1140 (map gen-var162 ids1137))) (let ((w1141 
(make-binding-wrap131 ids1137 labels1139 w1121)) (r1142 (extend-var-env109 
labels1139 new-vars1140 r1120))) (build-letrec96 s1122 (map syntax->datum 
ids1137) new-vars1140 (map (lambda (x1143) (chi150 x1143 r1142 w1141 mod1123)) 
val1134) (chi-body154 (cons e11135 e21136) (source-wrap143 e1119 w1141 s1122 
mod1123) r1142 w1141 mod1123))))))) tmp1125) ((lambda (_1146) (syntax-violation 
(quote letrec) "bad letrec" (source-wrap143 e1119 w1121 s1122 mod1123))) 
tmp1124))) ($sc-dispatch tmp1124 (quote (any #(each (any any)) any . 
each-any))))) e1119))) (global-extend112 (quote core) (quote set!) (lambda 
(e1147 r1148 w1149 s1150 mod1151) ((lambda (tmp1152) ((lambda (tmp1153) (if (if 
tmp1153 (apply (lambda (_1154 id1155 val1156) (id?114 id1155)) tmp1153) #f) 
(apply (lambda (_1157 id1158 val1159) (let ((val1160 (chi150 val1159 r1148 
w1149 mod1151)) (n1161 (id-var-name136 id1158 w1149))) (let ((b1162 (lookup111 
n1161 r1148 mod1151))) (let ((atom-key1163 (binding-type106 b1162))) (if (memv 
atom-key1163 (quote (lexical))) (build-lexical-assignment84 s1150 
(syntax->datum id1158) (binding-value107 b1162) val1160) (if (memv atom-key1163 
(quote (global))) (build-global-assignment87 s1150 n1161 val1160 mod1151) (if 
(memv atom-key1163 (quote (displaced-lexical))) (syntax-violation (quote set!) 
"identifier out of context" (wrap142 id1158 w1149 mod1151)) (syntax-violation 
(quote set!) "bad set!" (source-wrap143 e1147 w1149 s1150 mod1151))))))))) 
tmp1153) ((lambda (tmp1164) (if tmp1164 (apply (lambda (_1165 head1166 tail1167 
val1168) (call-with-values (lambda () (syntax-type148 head1166 r1148 (quote 
(())) #f #f mod1151)) (lambda (type1169 value1170 ee1171 ww1172 ss1173 
modmod1174) (if (memv type1169 (quote (module-ref))) (let ((val1175 (chi150 
val1168 r1148 w1149 mod1151))) (call-with-values (lambda () (value1170 (cons 
head1166 tail1167))) (lambda (id1177 mod1178) (build-global-assignment87 s1150 
id1177 val1175 mod1178)))) (build-application81 s1150 (chi150 (list (quote 
#(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 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 unannotate 
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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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))) 
head1166) r1148 w1149 mod1151) (map (lambda (e1179) (chi150 e1179 r1148 w1149 
mod1151)) (append tail1167 (list val1168)))))))) tmp1164) ((lambda (_1181) 
(syntax-violation (quote set!) "bad set!" (source-wrap143 e1147 w1149 s1150 
mod1151))) tmp1152))) ($sc-dispatch tmp1152 (quote (any (any . each-any) 
any)))))) ($sc-dispatch tmp1152 (quote (any any any))))) e1147))) 
(global-extend112 (quote module-ref) (quote @) (lambda (e1182) ((lambda 
(tmp1183) ((lambda (tmp1184) (if (if tmp1184 (apply (lambda (_1185 mod1186 
id1187) (if (and-map id?114 mod1186) (id?114 id1187) #f)) tmp1184) #f) (apply 
(lambda (_1189 mod1190 id1191) (values (syntax->datum id1191) (syntax->datum 
(cons (quote #(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 strip-annotation ellipsis? chi-void 
eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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))) 
mod1190)))) tmp1184) (syntax-violation #f "source expression failed to match 
any pattern" tmp1183))) ($sc-dispatch tmp1183 (quote (any each-any any))))) 
e1182))) (global-extend112 (quote module-ref) (quote @@) (lambda (e1193) 
((lambda (tmp1194) ((lambda (tmp1195) (if (if tmp1195 (apply (lambda (_1196 
mod1197 id1198) (if (and-map id?114 mod1197) (id?114 id1198) #f)) tmp1195) #f) 
(apply (lambda (_1200 mod1201 id1202) (values (syntax->datum id1202) 
(syntax->datum (cons (quote #(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 strip-annotation 
ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 
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 unannotate 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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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))) 
mod1201)))) tmp1195) (syntax-violation #f "source expression failed to match 
any pattern" tmp1194))) ($sc-dispatch tmp1194 (quote (any each-any any))))) 
e1193))) (global-extend112 (quote core) (quote if) (lambda (e1204 r1205 w1206 
s1207 mod1208) ((lambda (tmp1209) ((lambda (tmp1210) (if tmp1210 (apply (lambda 
(_1211 test1212 then1213) (build-conditional82 s1207 (chi150 test1212 r1205 
w1206 mod1208) (chi150 then1213 r1205 w1206 mod1208) (build-void80 #f))) 
tmp1210) ((lambda (tmp1214) (if tmp1214 (apply (lambda (_1215 test1216 then1217 
else1218) (build-conditional82 s1207 (chi150 test1216 r1205 w1206 mod1208) 
(chi150 then1217 r1205 w1206 mod1208) (chi150 else1218 r1205 w1206 mod1208))) 
tmp1214) (syntax-violation #f "source expression failed to match any pattern" 
tmp1209))) ($sc-dispatch tmp1209 (quote (any any any any)))))) ($sc-dispatch 
tmp1209 (quote (any any any))))) e1204))) (global-extend112 (quote begin) 
(quote begin) (quote ())) (global-extend112 (quote define) (quote define) 
(quote ())) (global-extend112 (quote define-syntax) (quote define-syntax) 
(quote ())) (global-extend112 (quote eval-when) (quote eval-when) (quote ())) 
(global-extend112 (quote core) (quote syntax-case) (letrec 
((gen-syntax-case1222 (lambda (x1223 keys1224 clauses1225 r1226 mod1227) (if 
(null? clauses1225) (build-application81 #f (build-primref91 #f (quote 
syntax-violation)) (list (build-data92 #f #f) (build-data92 #f "source 
expression failed to match any pattern") x1223)) ((lambda (tmp1228) ((lambda 
(tmp1229) (if tmp1229 (apply (lambda (pat1230 exp1231) (if (if (id?114 pat1230) 
(and-map (lambda (x1232) (not (free-id=?137 pat1230 x1232))) (cons (quote 
#(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 strip-annotation ellipsis? 
chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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))) 
keys1224)) #f) (let ((labels1233 (list (gen-label119))) (var1234 (gen-var162 
pat1230))) (build-application81 #f (build-lambda90 #f (list (syntax->datum 
pat1230)) (list var1234) #f (chi150 exp1231 (extend-env108 labels1233 (list 
(cons (quote syntax) (cons var1234 0))) r1226) (make-binding-wrap131 (list 
pat1230) labels1233 (quote (()))) mod1227)) (list x1223))) (gen-clause1221 
x1223 keys1224 (cdr clauses1225) r1226 pat1230 #t exp1231 mod1227))) tmp1229) 
((lambda (tmp1235) (if tmp1235 (apply (lambda (pat1236 fender1237 exp1238) 
(gen-clause1221 x1223 keys1224 (cdr clauses1225) r1226 pat1236 fender1237 
exp1238 mod1227)) tmp1235) ((lambda (_1239) (syntax-violation (quote 
syntax-case) "invalid clause" (car clauses1225))) tmp1228))) ($sc-dispatch 
tmp1228 (quote (any any any)))))) ($sc-dispatch tmp1228 (quote (any any))))) 
(car clauses1225))))) (gen-clause1221 (lambda (x1240 keys1241 clauses1242 r1243 
pat1244 fender1245 exp1246 mod1247) (call-with-values (lambda () 
(convert-pattern1219 pat1244 keys1241)) (lambda (p1248 pvars1249) (if (not 
(distinct-bound-ids?140 (map car pvars1249))) (syntax-violation (quote 
syntax-case) "duplicate pattern variable" pat1244) (if (not (and-map (lambda 
(x1250) (not (ellipsis?159 (car x1250)))) pvars1249)) (syntax-violation (quote 
syntax-case) "misplaced ellipsis" pat1244) (let ((y1251 (gen-var162 (quote 
tmp)))) (build-application81 #f (build-lambda90 #f (list (quote tmp)) (list 
y1251) #f (let ((y1252 (build-lexical-reference83 (quote value) #f (quote tmp) 
y1251))) (build-conditional82 #f ((lambda (tmp1253) ((lambda (tmp1254) (if 
tmp1254 (apply (lambda () y1252) tmp1254) ((lambda (_1255) (build-conditional82 
#f y1252 (build-dispatch-call1220 pvars1249 fender1245 y1252 r1243 mod1247) 
(build-data92 #f #f))) tmp1253))) ($sc-dispatch tmp1253 (quote #(atom #t))))) 
fender1245) (build-dispatch-call1220 pvars1249 exp1246 y1252 r1243 mod1247) 
(gen-syntax-case1222 x1240 keys1241 clauses1242 r1243 mod1247)))) (list (if 
(eq? p1248 (quote any)) (build-application81 #f (build-primref91 #f (quote 
list)) (list x1240)) (build-application81 #f (build-primref91 #f (quote 
$sc-dispatch)) (list x1240 (build-data92 #f p1248))))))))))))) 
(build-dispatch-call1220 (lambda (pvars1256 exp1257 y1258 r1259 mod1260) (let 
((ids1261 (map car pvars1256)) (levels1262 (map cdr pvars1256))) (let 
((labels1263 (gen-labels120 ids1261)) (new-vars1264 (map gen-var162 ids1261))) 
(build-application81 #f (build-primref91 #f (quote apply)) (list 
(build-lambda90 #f (map syntax->datum ids1261) new-vars1264 #f (chi150 exp1257 
(extend-env108 labels1263 (map (lambda (var1265 level1266) (cons (quote syntax) 
(cons var1265 level1266))) new-vars1264 (map cdr pvars1256)) r1259) 
(make-binding-wrap131 ids1261 labels1263 (quote (()))) mod1260)) y1258)))))) 
(convert-pattern1219 (lambda (pattern1267 keys1268) (letrec ((cvt1269 (lambda 
(p1270 n1271 ids1272) (if (id?114 p1270) (if (bound-id-member?141 p1270 
keys1268) (values (vector (quote free-id) p1270) ids1272) (values (quote any) 
(cons (cons p1270 n1271) ids1272))) ((lambda (tmp1273) ((lambda (tmp1274) (if 
(if tmp1274 (apply (lambda (x1275 dots1276) (ellipsis?159 dots1276)) tmp1274) 
#f) (apply (lambda (x1277 dots1278) (call-with-values (lambda () (cvt1269 x1277 
(fx+72 n1271 1) ids1272)) (lambda (p1279 ids1280) (values (if (eq? p1279 (quote 
any)) (quote each-any) (vector (quote each) p1279)) ids1280)))) tmp1274) 
((lambda (tmp1281) (if tmp1281 (apply (lambda (x1282 y1283) (call-with-values 
(lambda () (cvt1269 y1283 n1271 ids1272)) (lambda (y1284 ids1285) 
(call-with-values (lambda () (cvt1269 x1282 n1271 ids1285)) (lambda (x1286 
ids1287) (values (cons x1286 y1284) ids1287)))))) tmp1281) ((lambda (tmp1288) 
(if tmp1288 (apply (lambda () (values (quote ()) ids1272)) tmp1288) ((lambda 
(tmp1289) (if tmp1289 (apply (lambda (x1290) (call-with-values (lambda () 
(cvt1269 x1290 n1271 ids1272)) (lambda (p1292 ids1293) (values (vector (quote 
vector) p1292) ids1293)))) tmp1289) ((lambda (x1294) (values (vector (quote 
atom) (strip161 p1270 (quote (())))) ids1272)) tmp1273))) ($sc-dispatch tmp1273 
(quote #(vector each-any)))))) ($sc-dispatch tmp1273 (quote ()))))) 
($sc-dispatch tmp1273 (quote (any . any)))))) ($sc-dispatch tmp1273 (quote (any 
any))))) p1270))))) (cvt1269 pattern1267 0 (quote ())))))) (lambda (e1295 r1296 
w1297 s1298 mod1299) (let ((e1300 (source-wrap143 e1295 w1297 s1298 mod1299))) 
((lambda (tmp1301) ((lambda (tmp1302) (if tmp1302 (apply (lambda (_1303 val1304 
key1305 m1306) (if (and-map (lambda (x1307) (if (id?114 x1307) (not 
(ellipsis?159 x1307)) #f)) key1305) (let ((x1309 (gen-var162 (quote tmp)))) 
(build-application81 s1298 (build-lambda90 #f (list (quote tmp)) (list x1309) 
#f (gen-syntax-case1222 (build-lexical-reference83 (quote value) #f (quote tmp) 
x1309) key1305 m1306 r1296 mod1299)) (list (chi150 val1304 r1296 (quote (())) 
mod1299)))) (syntax-violation (quote syntax-case) "invalid literals list" 
e1300))) tmp1302) (syntax-violation #f "source expression failed to match any 
pattern" tmp1301))) ($sc-dispatch tmp1301 (quote (any any each-any . 
each-any))))) e1300))))) (set! sc-expand (lambda (x1313 . rest1312) (if (if 
(pair? x1313) (equal? (car x1313) noexpand70) #f) (cadr x1313) (let ((m1314 (if 
(null? rest1312) (quote e) (car rest1312))) (esew1315 (if (let ((t1316 (null? 
rest1312))) (if t1316 t1316 (null? (cdr rest1312)))) (quote (eval)) (cadr 
rest1312)))) (with-fluid* *mode*71 m1314 (lambda () (chi-top149 x1313 (quote 
()) (quote ((top))) m1314 esew1315 (cons (quote hygiene) (module-name 
(current-module)))))))))) (set! identifier? (lambda (x1317) (nonsymbol-id?113 
x1317))) (set! datum->syntax (lambda (id1318 datum1319) (make-syntax-object97 
datum1319 (syntax-object-wrap100 id1318) #f))) (set! syntax->datum (lambda 
(x1320) (strip161 x1320 (quote (()))))) (set! generate-temporaries (lambda 
(ls1321) (begin (let ((x1322 ls1321)) (if (not (list? x1322)) (syntax-violation 
(quote generate-temporaries) "invalid argument" x1322))) (map (lambda (x1323) 
(wrap142 (gensym) (quote ((top))) #f)) ls1321)))) (set! free-identifier=? 
(lambda (x1324 y1325) (begin (let ((x1326 x1324)) (if (not (nonsymbol-id?113 
x1326)) (syntax-violation (quote free-identifier=?) "invalid argument" x1326))) 
(let ((x1327 y1325)) (if (not (nonsymbol-id?113 x1327)) (syntax-violation 
(quote free-identifier=?) "invalid argument" x1327))) (free-id=?137 x1324 
y1325)))) (set! bound-identifier=? (lambda (x1328 y1329) (begin (let ((x1330 
x1328)) (if (not (nonsymbol-id?113 x1330)) (syntax-violation (quote 
bound-identifier=?) "invalid argument" x1330))) (let ((x1331 y1329)) (if (not 
(nonsymbol-id?113 x1331)) (syntax-violation (quote bound-identifier=?) "invalid 
argument" x1331))) (bound-id=?138 x1328 y1329)))) (set! syntax-violation 
(lambda (who1335 message1334 form1333 . subform1332) (begin (let ((x1336 
who1335)) (if (not ((lambda (x1337) (let ((t1338 (not x1337))) (if t1338 t1338 
(let ((t1339 (string? x1337))) (if t1339 t1339 (symbol? x1337)))))) x1336)) 
(syntax-violation (quote syntax-violation) "invalid argument" x1336))) (let 
((x1340 message1334)) (if (not (string? x1340)) (syntax-violation (quote 
syntax-violation) "invalid argument" x1340))) (scm-error (quote syntax-error) 
(quote sc-expand) (string-append (if who1335 "~a: " "") "~a " (if (null? 
subform1332) "in ~a" "in subform `~s' of `~s'")) (let ((tail1341 (cons 
message1334 (map (lambda (x1342) (strip161 x1342 (quote (())))) (append 
subform1332 (list form1333)))))) (if who1335 (cons who1335 tail1341) tail1341)) 
#f)))) (letrec ((match1347 (lambda (e1348 p1349 w1350 r1351 mod1352) (if (not 
r1351) #f (if (eq? p1349 (quote any)) (cons (wrap142 e1348 w1350 mod1352) 
r1351) (if (syntax-object?98 e1348) (match*1346 (let ((e1353 
(syntax-object-expression99 e1348))) (if (annotation? e1353) 
(annotation-expression e1353) e1353)) p1349 (join-wraps133 w1350 
(syntax-object-wrap100 e1348)) r1351 (syntax-object-module101 e1348)) 
(match*1346 (let ((e1354 e1348)) (if (annotation? e1354) (annotation-expression 
e1354) e1354)) p1349 w1350 r1351 mod1352)))))) (match*1346 (lambda (e1355 p1356 
w1357 r1358 mod1359) (if (null? p1356) (if (null? e1355) r1358 #f) (if (pair? 
p1356) (if (pair? e1355) (match1347 (car e1355) (car p1356) w1357 (match1347 
(cdr e1355) (cdr p1356) w1357 r1358 mod1359) mod1359) #f) (if (eq? p1356 (quote 
each-any)) (let ((l1360 (match-each-any1344 e1355 w1357 mod1359))) (if l1360 
(cons l1360 r1358) #f)) (let ((atom-key1361 (vector-ref p1356 0))) (if (memv 
atom-key1361 (quote (each))) (if (null? e1355) (match-empty1345 (vector-ref 
p1356 1) r1358) (let ((l1362 (match-each1343 e1355 (vector-ref p1356 1) w1357 
mod1359))) (if l1362 (letrec ((collect1363 (lambda (l1364) (if (null? (car 
l1364)) r1358 (cons (map car l1364) (collect1363 (map cdr l1364))))))) 
(collect1363 l1362)) #f))) (if (memv atom-key1361 (quote (free-id))) (if 
(id?114 e1355) (if (free-id=?137 (wrap142 e1355 w1357 mod1359) (vector-ref 
p1356 1)) r1358 #f) #f) (if (memv atom-key1361 (quote (atom))) (if (equal? 
(vector-ref p1356 1) (strip161 e1355 w1357)) r1358 #f) (if (memv atom-key1361 
(quote (vector))) (if (vector? e1355) (match1347 (vector->list e1355) 
(vector-ref p1356 1) w1357 r1358 mod1359) #f))))))))))) (match-empty1345 
(lambda (p1365 r1366) (if (null? p1365) r1366 (if (eq? p1365 (quote any)) (cons 
(quote ()) r1366) (if (pair? p1365) (match-empty1345 (car p1365) 
(match-empty1345 (cdr p1365) r1366)) (if (eq? p1365 (quote each-any)) (cons 
(quote ()) r1366) (let ((atom-key1367 (vector-ref p1365 0))) (if (memv 
atom-key1367 (quote (each))) (match-empty1345 (vector-ref p1365 1) r1366) (if 
(memv atom-key1367 (quote (free-id atom))) r1366 (if (memv atom-key1367 (quote 
(vector))) (match-empty1345 (vector-ref p1365 1) r1366))))))))))) 
(match-each-any1344 (lambda (e1368 w1369 mod1370) (if (annotation? e1368) 
(match-each-any1344 (annotation-expression e1368) w1369 mod1370) (if (pair? 
e1368) (let ((l1371 (match-each-any1344 (cdr e1368) w1369 mod1370))) (if l1371 
(cons (wrap142 (car e1368) w1369 mod1370) l1371) #f)) (if (null? e1368) (quote 
()) (if (syntax-object?98 e1368) (match-each-any1344 
(syntax-object-expression99 e1368) (join-wraps133 w1369 (syntax-object-wrap100 
e1368)) mod1370) #f)))))) (match-each1343 (lambda (e1372 p1373 w1374 mod1375) 
(if (annotation? e1372) (match-each1343 (annotation-expression e1372) p1373 
w1374 mod1375) (if (pair? e1372) (let ((first1376 (match1347 (car e1372) p1373 
w1374 (quote ()) mod1375))) (if first1376 (let ((rest1377 (match-each1343 (cdr 
e1372) p1373 w1374 mod1375))) (if rest1377 (cons first1376 rest1377) #f)) #f)) 
(if (null? e1372) (quote ()) (if (syntax-object?98 e1372) (match-each1343 
(syntax-object-expression99 e1372) p1373 (join-wraps133 w1374 
(syntax-object-wrap100 e1372)) (syntax-object-module101 e1372)) #f))))))) (set! 
$sc-dispatch (lambda (e1378 p1379) (if (eq? p1379 (quote any)) (list e1378) (if 
(syntax-object?98 e1378) (match*1346 (let ((e1380 (syntax-object-expression99 
e1378))) (if (annotation? e1380) (annotation-expression e1380) e1380)) p1379 
(syntax-object-wrap100 e1378) (quote ()) (syntax-object-module101 e1378)) 
(match*1346 (let ((e1381 e1378)) (if (annotation? e1381) (annotation-expression 
e1381) e1381)) p1379 (quote (())) (quote ()) #f)))))))))
-(define with-syntax (make-syncase-macro (quote macro) (lambda (x1382) ((lambda 
(tmp1383) ((lambda (tmp1384) (if tmp1384 (apply (lambda (_1385 e11386 e21387) 
(cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e11386 e21387))) tmp1384) ((lambda (tmp1389) (if 
tmp1389 (apply (lambda (_1390 out1391 in1392 e11393 e21394) (list (quote 
#(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))) in1392 (quote ()) (list out1391 (cons 
(quote #(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 e11393 e21394))))) tmp1389) ((lambda 
(tmp1396) (if tmp1396 (apply (lambda (_1397 out1398 in1399 e11400 e21401) (list 
(quote #(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 (quote #(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))) in1399) (quote ()) (list out1398 (cons (quote #(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 e11400 e21401))))) tmp1396) (syntax-violation #f "source 
expression failed to match any pattern" tmp1383))) ($sc-dispatch tmp1383 (quote 
(any #(each (any any)) any . each-any)))))) ($sc-dispatch tmp1383 (quote (any 
((any any)) any . each-any)))))) ($sc-dispatch tmp1383 (quote (any () any . 
each-any))))) x1382))))
-(define syntax-rules (make-syncase-macro (quote macro) (lambda (x1405) 
((lambda (tmp1406) ((lambda (tmp1407) (if tmp1407 (apply (lambda (_1408 k1409 
keyword1410 pattern1411 template1412) (list (quote #(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))) (quote (#(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 (quote #(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 (quote 
#(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 k1409 (map (lambda (tmp1415 
tmp1414) (list (cons (quote #(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))) 
tmp1414) (list (quote #(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))) 
tmp1415))) template1412 pattern1411)))))) tmp1407) (syntax-violation #f "source 
expression failed to match any pattern" tmp1406))) ($sc-dispatch tmp1406 (quote 
(any each-any . #(each ((any . any) any))))))) x1405))))
-(define let* (make-extended-syncase-macro (module-ref (current-module) (quote 
let*)) (quote macro) (lambda (x1416) ((lambda (tmp1417) ((lambda (tmp1418) (if 
(if tmp1418 (apply (lambda (let*1419 x1420 v1421 e11422 e21423) (and-map 
identifier? x1420)) tmp1418) #f) (apply (lambda (let*1425 x1426 v1427 e11428 
e21429) (letrec ((f1430 (lambda (bindings1431) (if (null? bindings1431) (cons 
(quote #(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 (quote ()) (cons e11428 e21429))) 
((lambda (tmp1435) ((lambda (tmp1436) (if tmp1436 (apply (lambda (body1437 
binding1438) (list (quote #(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 binding1438) body1437)) tmp1436) (syntax-violation #f 
"source expression failed to match any pattern" tmp1435))) ($sc-dispatch 
tmp1435 (quote (any any))))) (list (f1430 (cdr bindings1431)) (car 
bindings1431))))))) (f1430 (map list x1426 v1427)))) tmp1418) (syntax-violation 
#f "source expression failed to match any pattern" tmp1417))) ($sc-dispatch 
tmp1417 (quote (any #(each (any any)) any . each-any))))) x1416))))
-(define do (make-extended-syncase-macro (module-ref (current-module) (quote 
do)) (quote macro) (lambda (orig-x1439) ((lambda (tmp1440) ((lambda (tmp1441) 
(if tmp1441 (apply (lambda (_1442 var1443 init1444 step1445 e01446 e11447 
c1448) ((lambda (tmp1449) ((lambda (tmp1450) (if tmp1450 (apply (lambda 
(step1451) ((lambda (tmp1452) ((lambda (tmp1453) (if tmp1453 (apply (lambda () 
(list (quote #(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))) (quote #(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 
var1443 init1444) (list (quote #(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 (quote 
#(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))) e01446) (cons (quote #(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 c1448 (list 
(cons (quote #(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))) step1451))))))) tmp1453) ((lambda (tmp1458) 
(if tmp1458 (apply (lambda (e11459 e21460) (list (quote #(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))) (quote #(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 var1443 init1444) (list 
(quote #(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))) e01446 (cons 
(quote #(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 e11459 e21460)) (cons (quote #(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 c1448 (list (cons (quote #(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))) step1451))))))) tmp1458) 
(syntax-violation #f "source expression failed to match any pattern" tmp1452))) 
($sc-dispatch tmp1452 (quote (any . each-any)))))) ($sc-dispatch tmp1452 (quote 
())))) e11447)) tmp1450) (syntax-violation #f "source expression failed to 
match any pattern" tmp1449))) ($sc-dispatch tmp1449 (quote each-any)))) (map 
(lambda (v1467 s1468) ((lambda (tmp1469) ((lambda (tmp1470) (if tmp1470 (apply 
(lambda () v1467) tmp1470) ((lambda (tmp1471) (if tmp1471 (apply (lambda 
(e1472) e1472) tmp1471) ((lambda (_1473) (syntax-violation (quote do) "bad step 
expression" orig-x1439 s1468)) tmp1469))) ($sc-dispatch tmp1469 (quote 
(any)))))) ($sc-dispatch tmp1469 (quote ())))) s1468)) var1443 step1445))) 
tmp1441) (syntax-violation #f "source expression failed to match any pattern" 
tmp1440))) ($sc-dispatch tmp1440 (quote (any #(each (any any . any)) (any . 
each-any) . each-any))))) orig-x1439))))
-(define quasiquote (make-extended-syncase-macro (module-ref (current-module) 
(quote quasiquote)) (quote macro) (letrec ((quasicons1476 (lambda (x1480 y1481) 
((lambda (tmp1482) ((lambda (tmp1483) (if tmp1483 (apply (lambda (x1484 y1485) 
((lambda (tmp1486) ((lambda (tmp1487) (if tmp1487 (apply (lambda (dy1488) 
((lambda (tmp1489) ((lambda (tmp1490) (if tmp1490 (apply (lambda (dx1491) (list 
(quote #(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 dx1491 dy1488))) tmp1490) ((lambda 
(_1492) (if (null? dy1488) (list (quote #(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))) x1484) (list 
(quote #(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))) x1484 y1485))) tmp1489))) ($sc-dispatch 
tmp1489 (quote (#(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))))) x1484)) tmp1487) ((lambda (tmp1493) (if 
tmp1493 (apply (lambda (stuff1494) (cons (quote #(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 x1484 stuff1494))) tmp1493) 
((lambda (else1495) (list (quote #(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))) x1484 y1485)) tmp1486))) ($sc-dispatch tmp1486 
(quote (#(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 tmp1486 (quote (#(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))))) y1485)) tmp1483) (syntax-violation #f "source expression 
failed to match any pattern" tmp1482))) ($sc-dispatch tmp1482 (quote (any 
any))))) (list x1480 y1481)))) (quasiappend1477 (lambda (x1496 y1497) ((lambda 
(tmp1498) ((lambda (tmp1499) (if tmp1499 (apply (lambda (x1500 y1501) ((lambda 
(tmp1502) ((lambda (tmp1503) (if tmp1503 (apply (lambda () x1500) tmp1503) 
((lambda (_1504) (list (quote #(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))) x1500 y1501)) tmp1502))) ($sc-dispatch tmp1502 
(quote (#(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))) ()))))) y1501)) 
tmp1499) (syntax-violation #f "source expression failed to match any pattern" 
tmp1498))) ($sc-dispatch tmp1498 (quote (any any))))) (list x1496 y1497)))) 
(quasivector1478 (lambda (x1505) ((lambda (tmp1506) ((lambda (x1507) ((lambda 
(tmp1508) ((lambda (tmp1509) (if tmp1509 (apply (lambda (x1510) (list (quote 
#(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 
x1510))) tmp1509) ((lambda (tmp1512) (if tmp1512 (apply (lambda (x1513) (cons 
(quote #(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))) x1513)) tmp1512) 
((lambda (_1515) (list (quote #(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))) x1507)) tmp1508))) ($sc-dispatch tmp1508 (quote (#(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 tmp1508 (quote (#(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))))) x1507)) tmp1506)) x1505))) (quasi1479 (lambda 
(p1516 lev1517) ((lambda (tmp1518) ((lambda (tmp1519) (if tmp1519 (apply 
(lambda (p1520) (if (= lev1517 0) p1520 (quasicons1476 (quote (#(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)))) (quasi1479 (list p1520) (- lev1517 1))))) tmp1519) ((lambda 
(tmp1521) (if (if tmp1521 (apply (lambda (args1522) (= lev1517 0)) tmp1521) #f) 
(apply (lambda (args1523) (syntax-violation (quote unquote) "unquote takes 
exactly one argument" p1516 (cons (quote #(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))) args1523))) 
tmp1521) ((lambda (tmp1524) (if tmp1524 (apply (lambda (p1525 q1526) (if (= 
lev1517 0) (quasiappend1477 p1525 (quasi1479 q1526 lev1517)) (quasicons1476 
(quasicons1476 (quote (#(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)))) (quasi1479 (list p1525) (- lev1517 1))) (quasi1479 q1526 lev1517)))) 
tmp1524) ((lambda (tmp1527) (if (if tmp1527 (apply (lambda (args1528 q1529) (= 
lev1517 0)) tmp1527) #f) (apply (lambda (args1530 q1531) (syntax-violation 
(quote unquote-splicing) "unquote-splicing takes exactly one argument" p1516 
(cons (quote #(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))) args1530))) tmp1527) 
((lambda (tmp1532) (if tmp1532 (apply (lambda (p1533) (quasicons1476 (quote 
(#(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)))) (quasi1479 (list p1533) (+ lev1517 
1)))) tmp1532) ((lambda (tmp1534) (if tmp1534 (apply (lambda (p1535 q1536) 
(quasicons1476 (quasi1479 p1535 lev1517) (quasi1479 q1536 lev1517))) tmp1534) 
((lambda (tmp1537) (if tmp1537 (apply (lambda (x1538) (quasivector1478 
(quasi1479 x1538 lev1517))) tmp1537) ((lambda (p1540) (list (quote 
#(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))) p1540)) tmp1518))) ($sc-dispatch tmp1518 (quote #(vector 
each-any)))))) ($sc-dispatch tmp1518 (quote (any . any)))))) ($sc-dispatch 
tmp1518 (quote (#(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 tmp1518 (quote ((#(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 tmp1518 (quote ((#(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 tmp1518 
(quote (#(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 tmp1518 (quote (#(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))))) p1516)))) (lambda 
(x1541) ((lambda (tmp1542) ((lambda (tmp1543) (if tmp1543 (apply (lambda (_1544 
e1545) (quasi1479 e1545 0)) tmp1543) (syntax-violation #f "source expression 
failed to match any pattern" tmp1542))) ($sc-dispatch tmp1542 (quote (any 
any))))) x1541)))))
-(define include (make-syncase-macro (quote macro) (lambda (x1546) (letrec 
((read-file1547 (lambda (fn1548 k1549) (let ((p1550 (open-input-file fn1548))) 
(letrec ((f1551 (lambda (x1552) (if (eof-object? x1552) (begin 
(close-input-port p1550) (quote ())) (cons (datum->syntax k1549 x1552) (f1551 
(read p1550))))))) (f1551 (read p1550))))))) ((lambda (tmp1553) ((lambda 
(tmp1554) (if tmp1554 (apply (lambda (k1555 filename1556) (let ((fn1557 
(syntax->datum filename1556))) ((lambda (tmp1558) ((lambda (tmp1559) (if 
tmp1559 (apply (lambda (exp1560) (cons (quote #(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))) exp1560)) tmp1559) (syntax-violation #f "source expression 
failed to match any pattern" tmp1558))) ($sc-dispatch tmp1558 (quote 
each-any)))) (read-file1547 fn1557 k1555)))) tmp1554) (syntax-violation #f 
"source expression failed to match any pattern" tmp1553))) ($sc-dispatch 
tmp1553 (quote (any any))))) x1546)))))
-(define unquote (make-syncase-macro (quote macro) (lambda (x1562) ((lambda 
(tmp1563) ((lambda (tmp1564) (if tmp1564 (apply (lambda (_1565 e1566) 
(syntax-violation (quote unquote) "expression not valid outside of quasiquote" 
x1562)) tmp1564) (syntax-violation #f "source expression failed to match any 
pattern" tmp1563))) ($sc-dispatch tmp1563 (quote (any any))))) x1562))))
-(define unquote-splicing (make-syncase-macro (quote macro) (lambda (x1567) 
((lambda (tmp1568) ((lambda (tmp1569) (if tmp1569 (apply (lambda (_1570 e1571) 
(syntax-violation (quote unquote-splicing) "expression not valid outside of 
quasiquote" x1567)) tmp1569) (syntax-violation #f "source expression failed to 
match any pattern" tmp1568))) ($sc-dispatch tmp1568 (quote (any any))))) 
x1567))))
-(define case (make-extended-syncase-macro (module-ref (current-module) (quote 
case)) (quote macro) (lambda (x1572) ((lambda (tmp1573) ((lambda (tmp1574) (if 
tmp1574 (apply (lambda (_1575 e1576 m11577 m21578) ((lambda (tmp1579) ((lambda 
(body1580) (list (quote #(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 (quote #(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))) e1576)) body1580)) 
tmp1579)) (letrec ((f1581 (lambda (clause1582 clauses1583) (if (null? 
clauses1583) ((lambda (tmp1585) ((lambda (tmp1586) (if tmp1586 (apply (lambda 
(e11587 e21588) (cons (quote #(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 e11587 e21588))) tmp1586) ((lambda (tmp1590) (if 
tmp1590 (apply (lambda (k1591 e11592 e21593) (list (quote #(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 (quote 
#(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))) 
(quote #(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 (quote #(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))) k1591)) (cons (quote #(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 e11592 e21593)))) tmp1590) 
((lambda (_1596) (syntax-violation (quote case) "bad clause" x1572 clause1582)) 
tmp1585))) ($sc-dispatch tmp1585 (quote (each-any any . each-any)))))) 
($sc-dispatch tmp1585 (quote (#(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))))) clause1582) ((lambda (tmp1597) ((lambda (rest1598) ((lambda 
(tmp1599) ((lambda (tmp1600) (if tmp1600 (apply (lambda (k1601 e11602 e21603) 
(list (quote #(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 (quote #(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))) (quote #(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 (quote 
#(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))) k1601)) (cons (quote #(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 e11602 e21603)) rest1598)) tmp1600) 
((lambda (_1606) (syntax-violation (quote case) "bad clause" x1572 clause1582)) 
tmp1599))) ($sc-dispatch tmp1599 (quote (each-any any . each-any))))) 
clause1582)) tmp1597)) (f1581 (car clauses1583) (cdr clauses1583))))))) (f1581 
m11577 m21578)))) tmp1574) (syntax-violation #f "source expression failed to 
match any pattern" tmp1573))) ($sc-dispatch tmp1573 (quote (any any any . 
each-any))))) x1572))))
-(define identifier-syntax (make-syncase-macro (quote macro) (lambda (x1607) 
((lambda (tmp1608) ((lambda (tmp1609) (if tmp1609 (apply (lambda (_1610 e1611) 
(list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) 
(list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
(quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (quote (#(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 
(quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
e1611)) (list (cons _1610 (quote (#(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 (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e1611 (quote (#(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)))))))))) tmp1609) (syntax-violation #f "source expression failed to 
match any pattern" tmp1608))) ($sc-dispatch tmp1608 (quote (any any))))) 
x1607))))
+(letrec ((and-map*151 (lambda (f191 first190 . rest189) (let ((t192 (null? 
first190))) (if t192 t192 (if (null? rest189) (letrec ((andmap193 (lambda 
(first194) (let ((x195 (car first194)) (first196 (cdr first194))) (if (null? 
first196) (f191 x195) (if (f191 x195) (andmap193 first196) #f)))))) (andmap193 
first190)) (letrec ((andmap197 (lambda (first198 rest199) (let ((x200 (car 
first198)) (xr201 (map car rest199)) (first202 (cdr first198)) (rest203 (map 
cdr rest199))) (if (null? first202) (apply f191 (cons x200 xr201)) (if (apply 
f191 (cons x200 xr201)) (andmap197 first202 rest203) #f)))))) (andmap197 
first190 rest189)))))))) (letrec ((lambda-var-list296 (lambda (vars420) (letrec 
((lvl421 (lambda (vars422 ls423 w424) (if (pair? vars422) (lvl421 (cdr vars422) 
(cons (wrap276 (car vars422) w424 #f) ls423) w424) (if (id?248 vars422) (cons 
(wrap276 vars422 w424 #f) ls423) (if (null? vars422) ls423 (if 
(syntax-object?232 vars422) (lvl421 (syntax-object-expression233 vars422) ls423 
(join-wraps267 w424 (syntax-object-wrap234 vars422))) (cons vars422 
ls423)))))))) (lvl421 vars420 (quote ()) (quote (())))))) (gen-var295 (lambda 
(id425) (let ((id426 (if (syntax-object?232 id425) (syntax-object-expression233 
id425) id425))) (gensym (symbol->string id426))))) (strip294 (lambda (x427 
w428) (if (memq (quote top) (wrap-marks251 w428)) x427 (letrec ((f429 (lambda 
(x430) (if (syntax-object?232 x430) (strip294 (syntax-object-expression233 
x430) (syntax-object-wrap234 x430)) (if (pair? x430) (let ((a431 (f429 (car 
x430))) (d432 (f429 (cdr x430)))) (if (if (eq? a431 (car x430)) (eq? d432 (cdr 
x430)) #f) x430 (cons a431 d432))) (if (vector? x430) (let ((old433 
(vector->list x430))) (let ((new434 (map f429 old433))) (if (and-map*151 eq? 
old433 new434) x430 (list->vector new434)))) x430)))))) (f429 x427))))) 
(ellipsis?293 (lambda (x435) (if (nonsymbol-id?247 x435) (free-id=?271 x435 
(quote #(syntax-object ... ((top) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i")) #(ribcage (lambda-var-list gen-var strip 
ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 
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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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-void292 (lambda () 
(build-void214 #f))) (eval-local-transformer291 (lambda (expanded436 mod437) 
(let ((p438 (local-eval-hook211 expanded436 mod437))) (if (procedure? p438) 
p438 (syntax-violation #f "nonprocedure transformer" p438))))) 
(chi-local-syntax290 (lambda (rec?439 e440 r441 w442 s443 mod444 k445) ((lambda 
(tmp446) ((lambda (tmp447) (if tmp447 (apply (lambda (_448 id449 val450 e1451 
e2452) (let ((ids453 id449)) (if (not (valid-bound-ids?273 ids453)) 
(syntax-violation #f "duplicate bound keyword" e440) (let ((labels455 
(gen-labels254 ids453))) (let ((new-w456 (make-binding-wrap265 ids453 labels455 
w442))) (k445 (cons e1451 e2452) (extend-env242 labels455 (let ((w458 (if 
rec?439 new-w456 w442)) (trans-r459 (macros-only-env244 r441))) (map (lambda 
(x460) (cons (quote macro) (eval-local-transformer291 (chi284 x460 trans-r459 
w458 mod444) mod444))) val450)) r441) new-w456 s443 mod444)))))) tmp447) 
((lambda (_462) (syntax-violation #f "bad local syntax definition" 
(source-wrap277 e440 w442 s443 mod444))) tmp446))) ($sc-dispatch tmp446 (quote 
(any #(each (any any)) any . each-any))))) e440))) (chi-lambda-clause289 
(lambda (e463 docstring464 c465 r466 w467 mod468 k469) ((lambda (tmp470) 
((lambda (tmp471) (if (if tmp471 (apply (lambda (args472 doc473 e1474 e2475) 
(if (string? (syntax->datum doc473)) (not docstring464) #f)) tmp471) #f) (apply 
(lambda (args476 doc477 e1478 e2479) (chi-lambda-clause289 e463 doc477 (cons 
args476 (cons e1478 e2479)) r466 w467 mod468 k469)) tmp471) ((lambda (tmp481) 
(if tmp481 (apply (lambda (id482 e1483 e2484) (let ((ids485 id482)) (if (not 
(valid-bound-ids?273 ids485)) (syntax-violation (quote lambda) "invalid 
parameter list" e463) (let ((labels487 (gen-labels254 ids485)) (new-vars488 
(map gen-var295 ids485))) (k469 (map syntax->datum ids485) new-vars488 (if 
docstring464 (syntax->datum docstring464) #f) (chi-body288 (cons e1483 e2484) 
e463 (extend-var-env243 labels487 new-vars488 r466) (make-binding-wrap265 
ids485 labels487 w467) mod468)))))) tmp481) ((lambda (tmp490) (if tmp490 (apply 
(lambda (ids491 e1492 e2493) (let ((old-ids494 (lambda-var-list296 ids491))) 
(if (not (valid-bound-ids?273 old-ids494)) (syntax-violation (quote lambda) 
"invalid parameter list" e463) (let ((labels495 (gen-labels254 old-ids494)) 
(new-vars496 (map gen-var295 old-ids494))) (k469 (letrec ((f497 (lambda (ls1498 
ls2499) (if (null? ls1498) (syntax->datum ls2499) (f497 (cdr ls1498) (cons 
(syntax->datum (car ls1498)) ls2499)))))) (f497 (cdr old-ids494) (car 
old-ids494))) (letrec ((f500 (lambda (ls1501 ls2502) (if (null? ls1501) ls2502 
(f500 (cdr ls1501) (cons (car ls1501) ls2502)))))) (f500 (cdr new-vars496) (car 
new-vars496))) (if docstring464 (syntax->datum docstring464) #f) (chi-body288 
(cons e1492 e2493) e463 (extend-var-env243 labels495 new-vars496 r466) 
(make-binding-wrap265 old-ids494 labels495 w467) mod468)))))) tmp490) ((lambda 
(_504) (syntax-violation (quote lambda) "bad lambda" e463)) tmp470))) 
($sc-dispatch tmp470 (quote (any any . each-any)))))) ($sc-dispatch tmp470 
(quote (each-any any . each-any)))))) ($sc-dispatch tmp470 (quote (any any any 
. each-any))))) c465))) (chi-body288 (lambda (body505 outer-form506 r507 w508 
mod509) (let ((r510 (cons (quote ("placeholder" placeholder)) r507))) (let 
((ribcage511 (make-ribcage255 (quote ()) (quote ()) (quote ())))) (let ((w512 
(make-wrap250 (wrap-marks251 w508) (cons ribcage511 (wrap-subst252 w508))))) 
(letrec ((parse513 (lambda (body514 ids515 labels516 var-ids517 vars518 vals519 
bindings520) (if (null? body514) (syntax-violation #f "no expressions in body" 
outer-form506) (let ((e522 (cdar body514)) (er523 (caar body514))) 
(call-with-values (lambda () (syntax-type282 e522 er523 (quote (())) 
(source-annotation239 er523) ribcage511 mod509)) (lambda (type524 value525 e526 
w527 s528 mod529) (if (memv type524 (quote (define-form))) (let ((id530 
(wrap276 value525 w527 mod529)) (label531 (gen-label253))) (let ((var532 
(gen-var295 id530))) (begin (extend-ribcage!264 ribcage511 id530 label531) 
(parse513 (cdr body514) (cons id530 ids515) (cons label531 labels516) (cons 
id530 var-ids517) (cons var532 vars518) (cons (cons er523 (wrap276 e526 w527 
mod529)) vals519) (cons (cons (quote lexical) var532) bindings520))))) (if 
(memv type524 (quote (define-syntax-form))) (let ((id533 (wrap276 value525 w527 
mod529)) (label534 (gen-label253))) (begin (extend-ribcage!264 ribcage511 id533 
label534) (parse513 (cdr body514) (cons id533 ids515) (cons label534 labels516) 
var-ids517 vars518 vals519 (cons (cons (quote macro) (cons er523 (wrap276 e526 
w527 mod529))) bindings520)))) (if (memv type524 (quote (begin-form))) ((lambda 
(tmp535) ((lambda (tmp536) (if tmp536 (apply (lambda (_537 e1538) (parse513 
(letrec ((f539 (lambda (forms540) (if (null? forms540) (cdr body514) (cons 
(cons er523 (wrap276 (car forms540) w527 mod529)) (f539 (cdr forms540))))))) 
(f539 e1538)) ids515 labels516 var-ids517 vars518 vals519 bindings520)) tmp536) 
(syntax-violation #f "source expression failed to match any pattern" tmp535))) 
($sc-dispatch tmp535 (quote (any . each-any))))) e526) (if (memv type524 (quote 
(local-syntax-form))) (chi-local-syntax290 value525 e526 er523 w527 s528 mod529 
(lambda (forms542 er543 w544 s545 mod546) (parse513 (letrec ((f547 (lambda 
(forms548) (if (null? forms548) (cdr body514) (cons (cons er543 (wrap276 (car 
forms548) w544 mod546)) (f547 (cdr forms548))))))) (f547 forms542)) ids515 
labels516 var-ids517 vars518 vals519 bindings520))) (if (null? ids515) 
(build-sequence227 #f (map (lambda (x549) (chi284 (cdr x549) (car x549) (quote 
(())) mod529)) (cons (cons er523 (source-wrap277 e526 w527 s528 mod529)) (cdr 
body514)))) (begin (if (not (valid-bound-ids?273 ids515)) (syntax-violation #f 
"invalid or duplicate identifier in definition" outer-form506)) (letrec 
((loop550 (lambda (bs551 er-cache552 r-cache553) (if (not (null? bs551)) (let 
((b554 (car bs551))) (if (eq? (car b554) (quote macro)) (let ((er555 (cadr 
b554))) (let ((r-cache556 (if (eq? er555 er-cache552) r-cache553 
(macros-only-env244 er555)))) (begin (set-cdr! b554 (eval-local-transformer291 
(chi284 (cddr b554) r-cache556 (quote (())) mod529) mod529)) (loop550 (cdr 
bs551) er555 r-cache556)))) (loop550 (cdr bs551) er-cache552 r-cache553))))))) 
(loop550 bindings520 #f #f)) (set-cdr! r510 (extend-env242 labels516 
bindings520 (cdr r510))) (build-letrec230 #f (map syntax->datum var-ids517) 
vars518 (map (lambda (x557) (chi284 (cdr x557) (car x557) (quote (())) mod529)) 
vals519) (build-sequence227 #f (map (lambda (x558) (chi284 (cdr x558) (car 
x558) (quote (())) mod529)) (cons (cons er523 (source-wrap277 e526 w527 s528 
mod529)) (cdr body514)))))))))))))))))) (parse513 (map (lambda (x521) (cons 
r510 (wrap276 x521 w512 mod509))) body505) (quote ()) (quote ()) (quote ()) 
(quote ()) (quote ()) (quote ())))))))) (chi-macro287 (lambda (p559 e560 r561 
w562 rib563 mod564) (letrec ((rebuild-macro-output565 (lambda (x566 m567) (if 
(pair? x566) (cons (rebuild-macro-output565 (car x566) m567) 
(rebuild-macro-output565 (cdr x566) m567)) (if (syntax-object?232 x566) (let 
((w568 (syntax-object-wrap234 x566))) (let ((ms569 (wrap-marks251 w568)) (s570 
(wrap-subst252 w568))) (if (if (pair? ms569) (eq? (car ms569) #f) #f) 
(make-syntax-object231 (syntax-object-expression233 x566) (make-wrap250 (cdr 
ms569) (if rib563 (cons rib563 (cdr s570)) (cdr s570))) 
(syntax-object-module235 x566)) (make-syntax-object231 
(syntax-object-expression233 x566) (make-wrap250 (cons m567 ms569) (if rib563 
(cons rib563 (cons (quote shift) s570)) (cons (quote shift) s570))) (let 
((pmod571 (procedure-module p559))) (if pmod571 (cons (quote hygiene) 
(module-name pmod571)) (quote (hygiene guile)))))))) (if (vector? x566) (let 
((n572 (vector-length x566))) (let ((v573 (make-vector n572))) (letrec 
((loop574 (lambda (i575) (if (fx=208 i575 n572) (begin (if #f #f) v573) (begin 
(vector-set! v573 i575 (rebuild-macro-output565 (vector-ref x566 i575) m567)) 
(loop574 (fx+206 i575 1))))))) (loop574 0)))) (if (symbol? x566) 
(syntax-violation #f "encountered raw symbol in macro output" (source-wrap277 
e560 w562 s mod564) x566) x566))))))) (rebuild-macro-output565 (p559 (wrap276 
e560 (anti-mark263 w562) mod564)) (string #\m))))) (chi-application286 (lambda 
(x576 e577 r578 w579 s580 mod581) ((lambda (tmp582) ((lambda (tmp583) (if 
tmp583 (apply (lambda (e0584 e1585) (build-application215 s580 x576 (map 
(lambda (e586) (chi284 e586 r578 w579 mod581)) e1585))) tmp583) 
(syntax-violation #f "source expression failed to match any pattern" tmp582))) 
($sc-dispatch tmp582 (quote (any . each-any))))) e577))) (chi-expr285 (lambda 
(type588 value589 e590 r591 w592 s593 mod594) (if (memv type588 (quote 
(lexical))) (build-lexical-reference217 (quote value) s593 e590 value589) (if 
(memv type588 (quote (core external-macro))) (value589 e590 r591 w592 s593 
mod594) (if (memv type588 (quote (module-ref))) (call-with-values (lambda () 
(value589 e590)) (lambda (id595 mod596) (build-global-reference220 s593 id595 
mod596))) (if (memv type588 (quote (lexical-call))) (chi-application286 
(build-lexical-reference217 (quote fun) (source-annotation239 (car e590)) (car 
e590) value589) e590 r591 w592 s593 mod594) (if (memv type588 (quote 
(global-call))) (chi-application286 (build-global-reference220 
(source-annotation239 (car e590)) value589 (if (syntax-object?232 (car e590)) 
(syntax-object-module235 (car e590)) mod594)) e590 r591 w592 s593 mod594) (if 
(memv type588 (quote (constant))) (build-data226 s593 (strip294 (source-wrap277 
e590 w592 s593 mod594) (quote (())))) (if (memv type588 (quote (global))) 
(build-global-reference220 s593 value589 mod594) (if (memv type588 (quote 
(call))) (chi-application286 (chi284 (car e590) r591 w592 mod594) e590 r591 
w592 s593 mod594) (if (memv type588 (quote (begin-form))) ((lambda (tmp597) 
((lambda (tmp598) (if tmp598 (apply (lambda (_599 e1600 e2601) (chi-sequence278 
(cons e1600 e2601) r591 w592 s593 mod594)) tmp598) (syntax-violation #f "source 
expression failed to match any pattern" tmp597))) ($sc-dispatch tmp597 (quote 
(any any . each-any))))) e590) (if (memv type588 (quote (local-syntax-form))) 
(chi-local-syntax290 value589 e590 r591 w592 s593 mod594 chi-sequence278) (if 
(memv type588 (quote (eval-when-form))) ((lambda (tmp603) ((lambda (tmp604) (if 
tmp604 (apply (lambda (_605 x606 e1607 e2608) (let ((when-list609 
(chi-when-list281 e590 x606 w592))) (if (memq (quote eval) when-list609) 
(chi-sequence278 (cons e1607 e2608) r591 w592 s593 mod594) (chi-void292)))) 
tmp604) (syntax-violation #f "source expression failed to match any pattern" 
tmp603))) ($sc-dispatch tmp603 (quote (any each-any any . each-any))))) e590) 
(if (memv type588 (quote (define-form define-syntax-form))) (syntax-violation 
#f "definition in expression context" e590 (wrap276 value589 w592 mod594)) (if 
(memv type588 (quote (syntax))) (syntax-violation #f "reference to pattern 
variable outside syntax form" (source-wrap277 e590 w592 s593 mod594)) (if (memv 
type588 (quote (displaced-lexical))) (syntax-violation #f "reference to 
identifier outside its scope" (source-wrap277 e590 w592 s593 mod594)) 
(syntax-violation #f "unexpected syntax" (source-wrap277 e590 w592 s593 
mod594)))))))))))))))))) (chi284 (lambda (e612 r613 w614 mod615) 
(call-with-values (lambda () (syntax-type282 e612 r613 w614 
(source-annotation239 e612) #f mod615)) (lambda (type616 value617 e618 w619 
s620 mod621) (chi-expr285 type616 value617 e618 r613 w619 s620 mod621))))) 
(chi-top283 (lambda (e622 r623 w624 m625 esew626 mod627) (call-with-values 
(lambda () (syntax-type282 e622 r623 w624 (source-annotation239 e622) #f 
mod627)) (lambda (type635 value636 e637 w638 s639 mod640) (if (memv type635 
(quote (begin-form))) ((lambda (tmp641) ((lambda (tmp642) (if tmp642 (apply 
(lambda (_643) (chi-void292)) tmp642) ((lambda (tmp644) (if tmp644 (apply 
(lambda (_645 e1646 e2647) (chi-top-sequence279 (cons e1646 e2647) r623 w638 
s639 m625 esew626 mod640)) tmp644) (syntax-violation #f "source expression 
failed to match any pattern" tmp641))) ($sc-dispatch tmp641 (quote (any any . 
each-any)))))) ($sc-dispatch tmp641 (quote (any))))) e637) (if (memv type635 
(quote (local-syntax-form))) (chi-local-syntax290 value636 e637 r623 w638 s639 
mod640 (lambda (body649 r650 w651 s652 mod653) (chi-top-sequence279 body649 
r650 w651 s652 m625 esew626 mod653))) (if (memv type635 (quote 
(eval-when-form))) ((lambda (tmp654) ((lambda (tmp655) (if tmp655 (apply 
(lambda (_656 x657 e1658 e2659) (let ((when-list660 (chi-when-list281 e637 x657 
w638)) (body661 (cons e1658 e2659))) (if (eq? m625 (quote e)) (if (memq (quote 
eval) when-list660) (chi-top-sequence279 body661 r623 w638 s639 (quote e) 
(quote (eval)) mod640) (chi-void292)) (if (memq (quote load) when-list660) (if 
(let ((t664 (memq (quote compile) when-list660))) (if t664 t664 (if (eq? m625 
(quote c&e)) (memq (quote eval) when-list660) #f))) (chi-top-sequence279 
body661 r623 w638 s639 (quote c&e) (quote (compile load)) mod640) (if (memq 
m625 (quote (c c&e))) (chi-top-sequence279 body661 r623 w638 s639 (quote c) 
(quote (load)) mod640) (chi-void292))) (if (let ((t665 (memq (quote compile) 
when-list660))) (if t665 t665 (if (eq? m625 (quote c&e)) (memq (quote eval) 
when-list660) #f))) (begin (top-level-eval-hook210 (chi-top-sequence279 body661 
r623 w638 s639 (quote e) (quote (eval)) mod640) mod640) (chi-void292)) 
(chi-void292)))))) tmp655) (syntax-violation #f "source expression failed to 
match any pattern" tmp654))) ($sc-dispatch tmp654 (quote (any each-any any . 
each-any))))) e637) (if (memv type635 (quote (define-syntax-form))) (let ((n666 
(id-var-name270 value636 w638)) (r667 (macros-only-env244 r623))) (if (memv 
m625 (quote (c))) (if (memq (quote compile) esew626) (let ((e668 
(chi-install-global280 n666 (chi284 e637 r667 w638 mod640)))) (begin 
(top-level-eval-hook210 e668 mod640) (if (memq (quote load) esew626) e668 
(chi-void292)))) (if (memq (quote load) esew626) (chi-install-global280 n666 
(chi284 e637 r667 w638 mod640)) (chi-void292))) (if (memv m625 (quote (c&e))) 
(let ((e669 (chi-install-global280 n666 (chi284 e637 r667 w638 mod640)))) 
(begin (top-level-eval-hook210 e669 mod640) e669)) (begin (if (memq (quote 
eval) esew626) (top-level-eval-hook210 (chi-install-global280 n666 (chi284 e637 
r667 w638 mod640)) mod640)) (chi-void292))))) (if (memv type635 (quote 
(define-form))) (let ((n670 (id-var-name270 value636 w638))) (let ((type671 
(binding-type240 (lookup245 n670 r623 mod640)))) (if (memv type671 (quote 
(global core macro module-ref))) (let ((x672 (build-global-definition223 s639 
n670 (chi284 e637 r623 w638 mod640)))) (begin (if (eq? m625 (quote c&e)) 
(top-level-eval-hook210 x672 mod640)) x672)) (if (memv type671 (quote 
(displaced-lexical))) (syntax-violation #f "identifier out of context" e637 
(wrap276 value636 w638 mod640)) (syntax-violation #f "cannot define keyword at 
top level" e637 (wrap276 value636 w638 mod640)))))) (let ((x673 (chi-expr285 
type635 value636 e637 r623 w638 s639 mod640))) (begin (if (eq? m625 (quote 
c&e)) (top-level-eval-hook210 x673 mod640)) x673))))))))))) (syntax-type282 
(lambda (e674 r675 w676 s677 rib678 mod679) (if (symbol? e674) (let ((n680 
(id-var-name270 e674 w676))) (let ((b681 (lookup245 n680 r675 mod679))) (let 
((type682 (binding-type240 b681))) (if (memv type682 (quote (lexical))) (values 
type682 (binding-value241 b681) e674 w676 s677 mod679) (if (memv type682 (quote 
(global))) (values type682 n680 e674 w676 s677 mod679) (if (memv type682 (quote 
(macro))) (syntax-type282 (chi-macro287 (binding-value241 b681) e674 r675 w676 
rib678 mod679) r675 (quote (())) s677 rib678 mod679) (values type682 
(binding-value241 b681) e674 w676 s677 mod679))))))) (if (pair? e674) (let 
((first683 (car e674))) (if (id?248 first683) (let ((n684 (id-var-name270 
first683 w676))) (let ((b685 (lookup245 n684 r675 (let ((t686 (if 
(syntax-object?232 first683) (syntax-object-module235 first683) #f))) (if t686 
t686 mod679))))) (let ((type687 (binding-type240 b685))) (if (memv type687 
(quote (lexical))) (values (quote lexical-call) (binding-value241 b685) e674 
w676 s677 mod679) (if (memv type687 (quote (global))) (values (quote 
global-call) n684 e674 w676 s677 mod679) (if (memv type687 (quote (macro))) 
(syntax-type282 (chi-macro287 (binding-value241 b685) e674 r675 w676 rib678 
mod679) r675 (quote (())) s677 rib678 mod679) (if (memv type687 (quote (core 
external-macro module-ref))) (values type687 (binding-value241 b685) e674 w676 
s677 mod679) (if (memv type687 (quote (local-syntax))) (values (quote 
local-syntax-form) (binding-value241 b685) e674 w676 s677 mod679) (if (memv 
type687 (quote (begin))) (values (quote begin-form) #f e674 w676 s677 mod679) 
(if (memv type687 (quote (eval-when))) (values (quote eval-when-form) #f e674 
w676 s677 mod679) (if (memv type687 (quote (define))) ((lambda (tmp688) 
((lambda (tmp689) (if (if tmp689 (apply (lambda (_690 name691 val692) (id?248 
name691)) tmp689) #f) (apply (lambda (_693 name694 val695) (values (quote 
define-form) name694 val695 w676 s677 mod679)) tmp689) ((lambda (tmp696) (if 
(if tmp696 (apply (lambda (_697 name698 args699 e1700 e2701) (if (id?248 
name698) (valid-bound-ids?273 (lambda-var-list296 args699)) #f)) tmp696) #f) 
(apply (lambda (_702 name703 args704 e1705 e2706) (values (quote define-form) 
(wrap276 name703 w676 mod679) (cons (quote #(syntax-object lambda ((top) 
#(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" 
"i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage 
#(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) 
#(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var 
strip ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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))) (wrap276 (cons args704 (cons e1705 
e2706)) w676 mod679)) (quote (())) s677 mod679)) tmp696) ((lambda (tmp708) (if 
(if tmp708 (apply (lambda (_709 name710) (id?248 name710)) tmp708) #f) (apply 
(lambda (_711 name712) (values (quote define-form) (wrap276 name712 w676 
mod679) (quote (#(syntax-object if ((top) #(ribcage #(_ name) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) 
#("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var 
strip ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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 () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) 
#("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod) 
#((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage 
(lambda-var-list gen-var strip ellipsis? chi-void eval-local-transformer 
chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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 () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) 
#("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod) 
#((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage 
(lambda-var-list gen-var strip ellipsis? chi-void eval-local-transformer 
chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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)))) (quote (())) s677 mod679)) tmp708) 
(syntax-violation #f "source expression failed to match any pattern" tmp688))) 
($sc-dispatch tmp688 (quote (any any)))))) ($sc-dispatch tmp688 (quote (any 
(any . any) any . each-any)))))) ($sc-dispatch tmp688 (quote (any any any))))) 
e674) (if (memv type687 (quote (define-syntax))) ((lambda (tmp713) ((lambda 
(tmp714) (if (if tmp714 (apply (lambda (_715 name716 val717) (id?248 name716)) 
tmp714) #f) (apply (lambda (_718 name719 val720) (values (quote 
define-syntax-form) name719 val720 w676 s677 mod679)) tmp714) (syntax-violation 
#f "source expression failed to match any pattern" tmp713))) ($sc-dispatch 
tmp713 (quote (any any any))))) e674) (values (quote call) #f e674 w676 s677 
mod679))))))))))))) (values (quote call) #f e674 w676 s677 mod679))) (if 
(syntax-object?232 e674) (syntax-type282 (syntax-object-expression233 e674) 
r675 (join-wraps267 w676 (syntax-object-wrap234 e674)) s677 rib678 (let ((t721 
(syntax-object-module235 e674))) (if t721 t721 mod679))) (if (self-evaluating? 
e674) (values (quote constant) #f e674 w676 s677 mod679) (values (quote other) 
#f e674 w676 s677 mod679))))))) (chi-when-list281 (lambda (e722 when-list723 
w724) (letrec ((f725 (lambda (when-list726 situations727) (if (null? 
when-list726) situations727 (f725 (cdr when-list726) (cons (let ((x728 (car 
when-list726))) (if (free-id=?271 x728 (quote #(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 ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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)))) (quote compile) (if (free-id=?271 
x728 (quote #(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 ellipsis? chi-void 
eval-local-transformer chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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)))) (quote load) (if (free-id=?271 
x728 (quote #(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 ellipsis? chi-void 
eval-local-transformer chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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)))) (quote eval) (syntax-violation 
(quote eval-when) "invalid situation" e722 (wrap276 x728 w724 #f)))))) 
situations727)))))) (f725 when-list723 (quote ()))))) (chi-install-global280 
(lambda (name729 e730) (build-global-definition223 #f name729 (if (let ((v731 
(module-variable (current-module) name729))) (if v731 (if (variable-bound? 
v731) (if (macro? (variable-ref v731)) (not (eq? (macro-type (variable-ref 
v731)) (quote syncase-macro))) #f) #f) #f)) (build-application215 #f 
(build-primref225 #f (quote make-extended-syncase-macro)) (list 
(build-application215 #f (build-primref225 #f (quote module-ref)) (list 
(build-application215 #f (build-primref225 #f (quote current-module)) (quote 
())) (build-data226 #f name729))) (build-data226 #f (quote macro)) e730)) 
(build-application215 #f (build-primref225 #f (quote make-syncase-macro)) (list 
(build-data226 #f (quote macro)) e730)))))) (chi-top-sequence279 (lambda 
(body732 r733 w734 s735 m736 esew737 mod738) (build-sequence227 s735 (letrec 
((dobody739 (lambda (body740 r741 w742 m743 esew744 mod745) (if (null? body740) 
(quote ()) (let ((first746 (chi-top283 (car body740) r741 w742 m743 esew744 
mod745))) (cons first746 (dobody739 (cdr body740) r741 w742 m743 esew744 
mod745))))))) (dobody739 body732 r733 w734 m736 esew737 mod738))))) 
(chi-sequence278 (lambda (body747 r748 w749 s750 mod751) (build-sequence227 
s750 (letrec ((dobody752 (lambda (body753 r754 w755 mod756) (if (null? body753) 
(quote ()) (let ((first757 (chi284 (car body753) r754 w755 mod756))) (cons 
first757 (dobody752 (cdr body753) r754 w755 mod756))))))) (dobody752 body747 
r748 w749 mod751))))) (source-wrap277 (lambda (x758 w759 s760 defmod761) (begin 
(if (if s760 (pair? x758) #f) (set-source-properties! x758 s760)) (wrap276 x758 
w759 defmod761)))) (wrap276 (lambda (x762 w763 defmod764) (if (if (null? 
(wrap-marks251 w763)) (null? (wrap-subst252 w763)) #f) x762 (if 
(syntax-object?232 x762) (make-syntax-object231 (syntax-object-expression233 
x762) (join-wraps267 w763 (syntax-object-wrap234 x762)) 
(syntax-object-module235 x762)) (if (null? x762) x762 (make-syntax-object231 
x762 w763 defmod764)))))) (bound-id-member?275 (lambda (x765 list766) (if (not 
(null? list766)) (let ((t767 (bound-id=?272 x765 (car list766)))) (if t767 t767 
(bound-id-member?275 x765 (cdr list766)))) #f))) (distinct-bound-ids?274 
(lambda (ids768) (letrec ((distinct?769 (lambda (ids770) (let ((t771 (null? 
ids770))) (if t771 t771 (if (not (bound-id-member?275 (car ids770) (cdr 
ids770))) (distinct?769 (cdr ids770)) #f)))))) (distinct?769 ids768)))) 
(valid-bound-ids?273 (lambda (ids772) (if (letrec ((all-ids?773 (lambda 
(ids774) (let ((t775 (null? ids774))) (if t775 t775 (if (id?248 (car ids774)) 
(all-ids?773 (cdr ids774)) #f)))))) (all-ids?773 ids772)) 
(distinct-bound-ids?274 ids772) #f))) (bound-id=?272 (lambda (i776 j777) (if 
(if (syntax-object?232 i776) (syntax-object?232 j777) #f) (if (eq? 
(syntax-object-expression233 i776) (syntax-object-expression233 j777)) 
(same-marks?269 (wrap-marks251 (syntax-object-wrap234 i776)) (wrap-marks251 
(syntax-object-wrap234 j777))) #f) (eq? i776 j777)))) (free-id=?271 (lambda 
(i778 j779) (if (eq? (let ((x780 i778)) (if (syntax-object?232 x780) 
(syntax-object-expression233 x780) x780)) (let ((x781 j779)) (if 
(syntax-object?232 x781) (syntax-object-expression233 x781) x781))) (eq? 
(id-var-name270 i778 (quote (()))) (id-var-name270 j779 (quote (())))) #f))) 
(id-var-name270 (lambda (id782 w783) (letrec ((search-vector-rib786 (lambda 
(sym792 subst793 marks794 symnames795 ribcage796) (let ((n797 (vector-length 
symnames795))) (letrec ((f798 (lambda (i799) (if (fx=208 i799 n797) (search784 
sym792 (cdr subst793) marks794) (if (if (eq? (vector-ref symnames795 i799) 
sym792) (same-marks?269 marks794 (vector-ref (ribcage-marks258 ribcage796) 
i799)) #f) (values (vector-ref (ribcage-labels259 ribcage796) i799) marks794) 
(f798 (fx+206 i799 1))))))) (f798 0))))) (search-list-rib785 (lambda (sym800 
subst801 marks802 symnames803 ribcage804) (letrec ((f805 (lambda (symnames806 
i807) (if (null? symnames806) (search784 sym800 (cdr subst801) marks802) (if 
(if (eq? (car symnames806) sym800) (same-marks?269 marks802 (list-ref 
(ribcage-marks258 ribcage804) i807)) #f) (values (list-ref (ribcage-labels259 
ribcage804) i807) marks802) (f805 (cdr symnames806) (fx+206 i807 1))))))) (f805 
symnames803 0)))) (search784 (lambda (sym808 subst809 marks810) (if (null? 
subst809) (values #f marks810) (let ((fst811 (car subst809))) (if (eq? fst811 
(quote shift)) (search784 sym808 (cdr subst809) (cdr marks810)) (let 
((symnames812 (ribcage-symnames257 fst811))) (if (vector? symnames812) 
(search-vector-rib786 sym808 subst809 marks810 symnames812 fst811) 
(search-list-rib785 sym808 subst809 marks810 symnames812 fst811))))))))) (if 
(symbol? id782) (let ((t813 (call-with-values (lambda () (search784 id782 
(wrap-subst252 w783) (wrap-marks251 w783))) (lambda (x815 . ignore814) x815)))) 
(if t813 t813 id782)) (if (syntax-object?232 id782) (let ((id816 
(syntax-object-expression233 id782)) (w1817 (syntax-object-wrap234 id782))) 
(let ((marks818 (join-marks268 (wrap-marks251 w783) (wrap-marks251 w1817)))) 
(call-with-values (lambda () (search784 id816 (wrap-subst252 w783) marks818)) 
(lambda (new-id819 marks820) (let ((t821 new-id819)) (if t821 t821 (let ((t822 
(call-with-values (lambda () (search784 id816 (wrap-subst252 w1817) marks820)) 
(lambda (x824 . ignore823) x824)))) (if t822 t822 id816)))))))) 
(syntax-violation (quote id-var-name) "invalid id" id782)))))) (same-marks?269 
(lambda (x825 y826) (let ((t827 (eq? x825 y826))) (if t827 t827 (if (not (null? 
x825)) (if (not (null? y826)) (if (eq? (car x825) (car y826)) (same-marks?269 
(cdr x825) (cdr y826)) #f) #f) #f))))) (join-marks268 (lambda (m1828 m2829) 
(smart-append266 m1828 m2829))) (join-wraps267 (lambda (w1830 w2831) (let 
((m1832 (wrap-marks251 w1830)) (s1833 (wrap-subst252 w1830))) (if (null? m1832) 
(if (null? s1833) w2831 (make-wrap250 (wrap-marks251 w2831) (smart-append266 
s1833 (wrap-subst252 w2831)))) (make-wrap250 (smart-append266 m1832 
(wrap-marks251 w2831)) (smart-append266 s1833 (wrap-subst252 w2831))))))) 
(smart-append266 (lambda (m1834 m2835) (if (null? m2835) m1834 (append m1834 
m2835)))) (make-binding-wrap265 (lambda (ids836 labels837 w838) (if (null? 
ids836) w838 (make-wrap250 (wrap-marks251 w838) (cons (let ((labelvec839 
(list->vector labels837))) (let ((n840 (vector-length labelvec839))) (let 
((symnamevec841 (make-vector n840)) (marksvec842 (make-vector n840))) (begin 
(letrec ((f843 (lambda (ids844 i845) (if (not (null? ids844)) (call-with-values 
(lambda () (id-sym-name&marks249 (car ids844) w838)) (lambda (symname846 
marks847) (begin (vector-set! symnamevec841 i845 symname846) (vector-set! 
marksvec842 i845 marks847) (f843 (cdr ids844) (fx+206 i845 1))))))))) (f843 
ids836 0)) (make-ribcage255 symnamevec841 marksvec842 labelvec839))))) 
(wrap-subst252 w838)))))) (extend-ribcage!264 (lambda (ribcage848 id849 
label850) (begin (set-ribcage-symnames!260 ribcage848 (cons 
(syntax-object-expression233 id849) (ribcage-symnames257 ribcage848))) 
(set-ribcage-marks!261 ribcage848 (cons (wrap-marks251 (syntax-object-wrap234 
id849)) (ribcage-marks258 ribcage848))) (set-ribcage-labels!262 ribcage848 
(cons label850 (ribcage-labels259 ribcage848)))))) (anti-mark263 (lambda (w851) 
(make-wrap250 (cons #f (wrap-marks251 w851)) (cons (quote shift) (wrap-subst252 
w851))))) (set-ribcage-labels!262 (lambda (x852 update853) (vector-set! x852 3 
update853))) (set-ribcage-marks!261 (lambda (x854 update855) (vector-set! x854 
2 update855))) (set-ribcage-symnames!260 (lambda (x856 update857) (vector-set! 
x856 1 update857))) (ribcage-labels259 (lambda (x858) (vector-ref x858 3))) 
(ribcage-marks258 (lambda (x859) (vector-ref x859 2))) (ribcage-symnames257 
(lambda (x860) (vector-ref x860 1))) (ribcage?256 (lambda (x861) (if (vector? 
x861) (if (= (vector-length x861) 4) (eq? (vector-ref x861 0) (quote ribcage)) 
#f) #f))) (make-ribcage255 (lambda (symnames862 marks863 labels864) (vector 
(quote ribcage) symnames862 marks863 labels864))) (gen-labels254 (lambda 
(ls865) (if (null? ls865) (quote ()) (cons (gen-label253) (gen-labels254 (cdr 
ls865)))))) (gen-label253 (lambda () (string #\i))) (wrap-subst252 cdr) 
(wrap-marks251 car) (make-wrap250 cons) (id-sym-name&marks249 (lambda (x866 
w867) (if (syntax-object?232 x866) (values (syntax-object-expression233 x866) 
(join-marks268 (wrap-marks251 w867) (wrap-marks251 (syntax-object-wrap234 
x866)))) (values x866 (wrap-marks251 w867))))) (id?248 (lambda (x868) (if 
(symbol? x868) #t (if (syntax-object?232 x868) (symbol? 
(syntax-object-expression233 x868)) #f)))) (nonsymbol-id?247 (lambda (x869) (if 
(syntax-object?232 x869) (symbol? (syntax-object-expression233 x869)) #f))) 
(global-extend246 (lambda (type870 sym871 val872) 
(put-global-definition-hook212 sym871 type870 val872))) (lookup245 (lambda 
(x873 r874 mod875) (let ((t876 (assq x873 r874))) (if t876 (cdr t876) (if 
(symbol? x873) (let ((t877 (get-global-definition-hook213 x873 mod875))) (if 
t877 t877 (quote (global)))) (quote (displaced-lexical))))))) 
(macros-only-env244 (lambda (r878) (if (null? r878) (quote ()) (let ((a879 (car 
r878))) (if (eq? (cadr a879) (quote macro)) (cons a879 (macros-only-env244 (cdr 
r878))) (macros-only-env244 (cdr r878))))))) (extend-var-env243 (lambda 
(labels880 vars881 r882) (if (null? labels880) r882 (extend-var-env243 (cdr 
labels880) (cdr vars881) (cons (cons (car labels880) (cons (quote lexical) (car 
vars881))) r882))))) (extend-env242 (lambda (labels883 bindings884 r885) (if 
(null? labels883) r885 (extend-env242 (cdr labels883) (cdr bindings884) (cons 
(cons (car labels883) (car bindings884)) r885))))) (binding-value241 cdr) 
(binding-type240 car) (source-annotation239 (lambda (x886) (if 
(syntax-object?232 x886) (source-annotation239 (syntax-object-expression233 
x886)) (if (pair? x886) (let ((props887 (source-properties x886))) (if (pair? 
props887) props887 #f)) #f)))) (set-syntax-object-module!238 (lambda (x888 
update889) (vector-set! x888 3 update889))) (set-syntax-object-wrap!237 (lambda 
(x890 update891) (vector-set! x890 2 update891))) 
(set-syntax-object-expression!236 (lambda (x892 update893) (vector-set! x892 1 
update893))) (syntax-object-module235 (lambda (x894) (vector-ref x894 3))) 
(syntax-object-wrap234 (lambda (x895) (vector-ref x895 2))) 
(syntax-object-expression233 (lambda (x896) (vector-ref x896 1))) 
(syntax-object?232 (lambda (x897) (if (vector? x897) (if (= (vector-length 
x897) 4) (eq? (vector-ref x897 0) (quote syntax-object)) #f) #f))) 
(make-syntax-object231 (lambda (expression898 wrap899 module900) (vector (quote 
syntax-object) expression898 wrap899 module900))) (build-letrec230 (lambda 
(src901 ids902 vars903 val-exps904 body-exp905) (if (null? vars903) body-exp905 
(let ((atom-key906 (fluid-ref *mode*205))) (if (memv atom-key906 (quote (c))) 
(begin (for-each maybe-name-value!222 ids902 val-exps904) ((@ (language 
tree-il) make-letrec) src901 ids902 vars903 val-exps904 body-exp905)) (list 
(quote letrec) (map list vars903 val-exps904) body-exp905)))))) 
(build-named-let229 (lambda (src907 ids908 vars909 val-exps910 body-exp911) 
(let ((f912 (car vars909)) (f-name913 (car ids908)) (vars914 (cdr vars909)) 
(ids915 (cdr ids908))) (let ((atom-key916 (fluid-ref *mode*205))) (if (memv 
atom-key916 (quote (c))) (let ((proc917 (build-lambda224 src907 ids915 vars914 
#f body-exp911))) (begin (maybe-name-value!222 f-name913 proc917) (for-each 
maybe-name-value!222 ids915 val-exps910) ((@ (language tree-il) make-letrec) 
src907 (list f-name913) (list f912) (list proc917) (build-application215 src907 
(build-lexical-reference217 (quote fun) src907 f-name913 f912) val-exps910)))) 
(list (quote let) f912 (map list vars914 val-exps910) body-exp911)))))) 
(build-let228 (lambda (src918 ids919 vars920 val-exps921 body-exp922) (if 
(null? vars920) body-exp922 (let ((atom-key923 (fluid-ref *mode*205))) (if 
(memv atom-key923 (quote (c))) (begin (for-each maybe-name-value!222 ids919 
val-exps921) ((@ (language tree-il) make-let) src918 ids919 vars920 val-exps921 
body-exp922)) (list (quote let) (map list vars920 val-exps921) 
body-exp922)))))) (build-sequence227 (lambda (src924 exps925) (if (null? (cdr 
exps925)) (car exps925) (let ((atom-key926 (fluid-ref *mode*205))) (if (memv 
atom-key926 (quote (c))) ((@ (language tree-il) make-sequence) src924 exps925) 
(cons (quote begin) exps925)))))) (build-data226 (lambda (src927 exp928) (let 
((atom-key929 (fluid-ref *mode*205))) (if (memv atom-key929 (quote (c))) ((@ 
(language tree-il) make-const) src927 exp928) (if (if (self-evaluating? exp928) 
(not (vector? exp928)) #f) exp928 (list (quote quote) exp928)))))) 
(build-primref225 (lambda (src930 name931) (if (equal? (module-name 
(current-module)) (quote (guile))) (let ((atom-key932 (fluid-ref *mode*205))) 
(if (memv atom-key932 (quote (c))) ((@ (language tree-il) make-toplevel-ref) 
src930 name931) name931)) (let ((atom-key933 (fluid-ref *mode*205))) (if (memv 
atom-key933 (quote (c))) ((@ (language tree-il) make-module-ref) src930 (quote 
(guile)) name931 #f) (list (quote @@) (quote (guile)) name931)))))) 
(build-lambda224 (lambda (src934 ids935 vars936 docstring937 exp938) (let 
((atom-key939 (fluid-ref *mode*205))) (if (memv atom-key939 (quote (c))) ((@ 
(language tree-il) make-lambda) src934 ids935 vars936 (if docstring937 (list 
(cons (quote documentation) docstring937)) (quote ())) exp938) (cons (quote 
lambda) (cons vars936 (append (if docstring937 (list docstring937) (quote ())) 
(list exp938)))))))) (build-global-definition223 (lambda (source940 var941 
exp942) (let ((atom-key943 (fluid-ref *mode*205))) (if (memv atom-key943 (quote 
(c))) (begin (maybe-name-value!222 var941 exp942) ((@ (language tree-il) 
make-toplevel-define) source940 var941 exp942)) (list (quote define) var941 
exp942))))) (maybe-name-value!222 (lambda (name944 val945) (if ((@ (language 
tree-il) lambda?) val945) (let ((meta946 ((@ (language tree-il) lambda-meta) 
val945))) (if (not (assq (quote name) meta946)) ((setter (@ (language tree-il) 
lambda-meta)) val945 (acons (quote name) name944 meta946))))))) 
(build-global-assignment221 (lambda (source947 var948 exp949 mod950) 
(analyze-variable219 mod950 var948 (lambda (mod951 var952 public?953) (let 
((atom-key954 (fluid-ref *mode*205))) (if (memv atom-key954 (quote (c))) ((@ 
(language tree-il) make-module-set) source947 mod951 var952 public?953 exp949) 
(list (quote set!) (list (if public?953 (quote @) (quote @@)) mod951 var952) 
exp949)))) (lambda (var955) (let ((atom-key956 (fluid-ref *mode*205))) (if 
(memv atom-key956 (quote (c))) ((@ (language tree-il) make-toplevel-set) 
source947 var955 exp949) (list (quote set!) var955 exp949))))))) 
(build-global-reference220 (lambda (source957 var958 mod959) 
(analyze-variable219 mod959 var958 (lambda (mod960 var961 public?962) (let 
((atom-key963 (fluid-ref *mode*205))) (if (memv atom-key963 (quote (c))) ((@ 
(language tree-il) make-module-ref) source957 mod960 var961 public?962) (list 
(if public?962 (quote @) (quote @@)) mod960 var961)))) (lambda (var964) (let 
((atom-key965 (fluid-ref *mode*205))) (if (memv atom-key965 (quote (c))) ((@ 
(language tree-il) make-toplevel-ref) source957 var964) var964)))))) 
(analyze-variable219 (lambda (mod966 var967 modref-cont968 bare-cont969) (if 
(not mod966) (bare-cont969 var967) (let ((kind970 (car mod966)) (mod971 (cdr 
mod966))) (if (memv kind970 (quote (public))) (modref-cont968 mod971 var967 #t) 
(if (memv kind970 (quote (private))) (if (not (equal? mod971 (module-name 
(current-module)))) (modref-cont968 mod971 var967 #f) (bare-cont969 var967)) 
(if (memv kind970 (quote (bare))) (bare-cont969 var967) (if (memv kind970 
(quote (hygiene))) (if (if (not (equal? mod971 (module-name (current-module)))) 
(module-variable (resolve-module mod971) var967) #f) (modref-cont968 mod971 
var967 #f) (bare-cont969 var967)) (syntax-violation #f "bad module kind" var967 
mod971))))))))) (build-lexical-assignment218 (lambda (source972 name973 var974 
exp975) (let ((atom-key976 (fluid-ref *mode*205))) (if (memv atom-key976 (quote 
(c))) ((@ (language tree-il) make-lexical-set) source972 name973 var974 exp975) 
(list (quote set!) var974 exp975))))) (build-lexical-reference217 (lambda 
(type977 source978 name979 var980) (let ((atom-key981 (fluid-ref *mode*205))) 
(if (memv atom-key981 (quote (c))) ((@ (language tree-il) make-lexical-ref) 
source978 name979 var980) var980)))) (build-conditional216 (lambda (source982 
test-exp983 then-exp984 else-exp985) (let ((atom-key986 (fluid-ref *mode*205))) 
(if (memv atom-key986 (quote (c))) ((@ (language tree-il) make-conditional) 
source982 test-exp983 then-exp984 else-exp985) (if (equal? else-exp985 (quote 
(if #f #f))) (list (quote if) test-exp983 then-exp984) (list (quote if) 
test-exp983 then-exp984 else-exp985)))))) (build-application215 (lambda 
(source987 fun-exp988 arg-exps989) (let ((atom-key990 (fluid-ref *mode*205))) 
(if (memv atom-key990 (quote (c))) ((@ (language tree-il) make-application) 
source987 fun-exp988 arg-exps989) (cons fun-exp988 arg-exps989))))) 
(build-void214 (lambda (source991) (let ((atom-key992 (fluid-ref *mode*205))) 
(if (memv atom-key992 (quote (c))) ((@ (language tree-il) make-void) source991) 
(quote (if #f #f)))))) (get-global-definition-hook213 (lambda (symbol993 
module994) (begin (if (if (not module994) (current-module) #f) (warn "module 
system is booted, we should have a module" symbol993)) (let ((v995 
(module-variable (if module994 (resolve-module (cdr module994)) 
(current-module)) symbol993))) (if v995 (if (variable-bound? v995) (let 
((val996 (variable-ref v995))) (if (macro? val996) (if (syncase-macro-type 
val996) (cons (syncase-macro-type val996) (syncase-macro-binding val996)) #f) 
#f)) #f) #f))))) (put-global-definition-hook212 (lambda (symbol997 type998 
val999) (let ((existing1000 (let ((v1001 (module-variable (current-module) 
symbol997))) (if v1001 (if (variable-bound? v1001) (let ((val1002 (variable-ref 
v1001))) (if (macro? val1002) (if (not (syncase-macro-type val1002)) val1002 
#f) #f)) #f) #f)))) (module-define! (current-module) symbol997 (if existing1000 
(make-extended-syncase-macro existing1000 type998 val999) (make-syncase-macro 
type998 val999)))))) (local-eval-hook211 (lambda (x1003 mod1004) 
(primitive-eval (list noexpand204 (let ((atom-key1005 (fluid-ref *mode*205))) 
(if (memv atom-key1005 (quote (c))) ((@ (language tree-il) tree-il->scheme) 
x1003) x1003)))))) (top-level-eval-hook210 (lambda (x1006 mod1007) 
(primitive-eval (list noexpand204 (let ((atom-key1008 (fluid-ref *mode*205))) 
(if (memv atom-key1008 (quote (c))) ((@ (language tree-il) tree-il->scheme) 
x1006) x1006)))))) (fx<209 <) (fx=208 =) (fx-207 -) (fx+206 +) (*mode*205 
(make-fluid)) (noexpand204 "noexpand")) (begin (global-extend246 (quote 
local-syntax) (quote letrec-syntax) #t) (global-extend246 (quote local-syntax) 
(quote let-syntax) #f) (global-extend246 (quote core) (quote fluid-let-syntax) 
(lambda (e1009 r1010 w1011 s1012 mod1013) ((lambda (tmp1014) ((lambda (tmp1015) 
(if (if tmp1015 (apply (lambda (_1016 var1017 val1018 e11019 e21020) 
(valid-bound-ids?273 var1017)) tmp1015) #f) (apply (lambda (_1022 var1023 
val1024 e11025 e21026) (let ((names1027 (map (lambda (x1028) (id-var-name270 
x1028 w1011)) var1023))) (begin (for-each (lambda (id1030 n1031) (let 
((atom-key1032 (binding-type240 (lookup245 n1031 r1010 mod1013)))) (if (memv 
atom-key1032 (quote (displaced-lexical))) (syntax-violation (quote 
fluid-let-syntax) "identifier out of context" e1009 (source-wrap277 id1030 
w1011 s1012 mod1013))))) var1023 names1027) (chi-body288 (cons e11025 e21026) 
(source-wrap277 e1009 w1011 s1012 mod1013) (extend-env242 names1027 (let 
((trans-r1035 (macros-only-env244 r1010))) (map (lambda (x1036) (cons (quote 
macro) (eval-local-transformer291 (chi284 x1036 trans-r1035 w1011 mod1013) 
mod1013))) val1024)) r1010) w1011 mod1013)))) tmp1015) ((lambda (_1038) 
(syntax-violation (quote fluid-let-syntax) "bad syntax" (source-wrap277 e1009 
w1011 s1012 mod1013))) tmp1014))) ($sc-dispatch tmp1014 (quote (any #(each (any 
any)) any . each-any))))) e1009))) (global-extend246 (quote core) (quote quote) 
(lambda (e1039 r1040 w1041 s1042 mod1043) ((lambda (tmp1044) ((lambda (tmp1045) 
(if tmp1045 (apply (lambda (_1046 e1047) (build-data226 s1042 (strip294 e1047 
w1041))) tmp1045) ((lambda (_1048) (syntax-violation (quote quote) "bad syntax" 
(source-wrap277 e1039 w1041 s1042 mod1043))) tmp1044))) ($sc-dispatch tmp1044 
(quote (any any))))) e1039))) (global-extend246 (quote core) (quote syntax) 
(letrec ((regen1056 (lambda (x1057) (let ((atom-key1058 (car x1057))) (if (memv 
atom-key1058 (quote (ref))) (build-lexical-reference217 (quote value) #f (cadr 
x1057) (cadr x1057)) (if (memv atom-key1058 (quote (primitive))) 
(build-primref225 #f (cadr x1057)) (if (memv atom-key1058 (quote (quote))) 
(build-data226 #f (cadr x1057)) (if (memv atom-key1058 (quote (lambda))) 
(build-lambda224 #f (cadr x1057) (cadr x1057) #f (regen1056 (caddr x1057))) 
(build-application215 #f (build-primref225 #f (car x1057)) (map regen1056 (cdr 
x1057)))))))))) (gen-vector1055 (lambda (x1059) (if (eq? (car x1059) (quote 
list)) (cons (quote vector) (cdr x1059)) (if (eq? (car x1059) (quote quote)) 
(list (quote quote) (list->vector (cadr x1059))) (list (quote list->vector) 
x1059))))) (gen-append1054 (lambda (x1060 y1061) (if (equal? y1061 (quote 
(quote ()))) x1060 (list (quote append) x1060 y1061)))) (gen-cons1053 (lambda 
(x1062 y1063) (let ((atom-key1064 (car y1063))) (if (memv atom-key1064 (quote 
(quote))) (if (eq? (car x1062) (quote quote)) (list (quote quote) (cons (cadr 
x1062) (cadr y1063))) (if (eq? (cadr y1063) (quote ())) (list (quote list) 
x1062) (list (quote cons) x1062 y1063))) (if (memv atom-key1064 (quote (list))) 
(cons (quote list) (cons x1062 (cdr y1063))) (list (quote cons) x1062 
y1063)))))) (gen-map1052 (lambda (e1065 map-env1066) (let ((formals1067 (map 
cdr map-env1066)) (actuals1068 (map (lambda (x1069) (list (quote ref) (car 
x1069))) map-env1066))) (if (eq? (car e1065) (quote ref)) (car actuals1068) (if 
(and-map (lambda (x1070) (if (eq? (car x1070) (quote ref)) (memq (cadr x1070) 
formals1067) #f)) (cdr e1065)) (cons (quote map) (cons (list (quote primitive) 
(car e1065)) (map (let ((r1071 (map cons formals1067 actuals1068))) (lambda 
(x1072) (cdr (assq (cadr x1072) r1071)))) (cdr e1065)))) (cons (quote map) 
(cons (list (quote lambda) formals1067 e1065) actuals1068))))))) 
(gen-mappend1051 (lambda (e1073 map-env1074) (list (quote apply) (quote 
(primitive append)) (gen-map1052 e1073 map-env1074)))) (gen-ref1050 (lambda 
(src1075 var1076 level1077 maps1078) (if (fx=208 level1077 0) (values var1076 
maps1078) (if (null? maps1078) (syntax-violation (quote syntax) "missing 
ellipsis" src1075) (call-with-values (lambda () (gen-ref1050 src1075 var1076 
(fx-207 level1077 1) (cdr maps1078))) (lambda (outer-var1079 outer-maps1080) 
(let ((b1081 (assq outer-var1079 (car maps1078)))) (if b1081 (values (cdr 
b1081) maps1078) (let ((inner-var1082 (gen-var295 (quote tmp)))) (values 
inner-var1082 (cons (cons (cons outer-var1079 inner-var1082) (car maps1078)) 
outer-maps1080))))))))))) (gen-syntax1049 (lambda (src1083 e1084 r1085 maps1086 
ellipsis?1087 mod1088) (if (id?248 e1084) (let ((label1089 (id-var-name270 
e1084 (quote (()))))) (let ((b1090 (lookup245 label1089 r1085 mod1088))) (if 
(eq? (binding-type240 b1090) (quote syntax)) (call-with-values (lambda () (let 
((var.lev1091 (binding-value241 b1090))) (gen-ref1050 src1083 (car var.lev1091) 
(cdr var.lev1091) maps1086))) (lambda (var1092 maps1093) (values (list (quote 
ref) var1092) maps1093))) (if (ellipsis?1087 e1084) (syntax-violation (quote 
syntax) "misplaced ellipsis" src1083) (values (list (quote quote) e1084) 
maps1086))))) ((lambda (tmp1094) ((lambda (tmp1095) (if (if tmp1095 (apply 
(lambda (dots1096 e1097) (ellipsis?1087 dots1096)) tmp1095) #f) (apply (lambda 
(dots1098 e1099) (gen-syntax1049 src1083 e1099 r1085 maps1086 (lambda (x1100) 
#f) mod1088)) tmp1095) ((lambda (tmp1101) (if (if tmp1101 (apply (lambda (x1102 
dots1103 y1104) (ellipsis?1087 dots1103)) tmp1101) #f) (apply (lambda (x1105 
dots1106 y1107) (letrec ((f1108 (lambda (y1109 k1110) ((lambda (tmp1114) 
((lambda (tmp1115) (if (if tmp1115 (apply (lambda (dots1116 y1117) 
(ellipsis?1087 dots1116)) tmp1115) #f) (apply (lambda (dots1118 y1119) (f1108 
y1119 (lambda (maps1120) (call-with-values (lambda () (k1110 (cons (quote ()) 
maps1120))) (lambda (x1121 maps1122) (if (null? (car maps1122)) 
(syntax-violation (quote syntax) "extra ellipsis" src1083) (values 
(gen-mappend1051 x1121 (car maps1122)) (cdr maps1122)))))))) tmp1115) ((lambda 
(_1123) (call-with-values (lambda () (gen-syntax1049 src1083 y1109 r1085 
maps1086 ellipsis?1087 mod1088)) (lambda (y1124 maps1125) (call-with-values 
(lambda () (k1110 maps1125)) (lambda (x1126 maps1127) (values (gen-append1054 
x1126 y1124) maps1127)))))) tmp1114))) ($sc-dispatch tmp1114 (quote (any . 
any))))) y1109)))) (f1108 y1107 (lambda (maps1111) (call-with-values (lambda () 
(gen-syntax1049 src1083 x1105 r1085 (cons (quote ()) maps1111) ellipsis?1087 
mod1088)) (lambda (x1112 maps1113) (if (null? (car maps1113)) (syntax-violation 
(quote syntax) "extra ellipsis" src1083) (values (gen-map1052 x1112 (car 
maps1113)) (cdr maps1113))))))))) tmp1101) ((lambda (tmp1128) (if tmp1128 
(apply (lambda (x1129 y1130) (call-with-values (lambda () (gen-syntax1049 
src1083 x1129 r1085 maps1086 ellipsis?1087 mod1088)) (lambda (x1131 maps1132) 
(call-with-values (lambda () (gen-syntax1049 src1083 y1130 r1085 maps1132 
ellipsis?1087 mod1088)) (lambda (y1133 maps1134) (values (gen-cons1053 x1131 
y1133) maps1134)))))) tmp1128) ((lambda (tmp1135) (if tmp1135 (apply (lambda 
(e11136 e21137) (call-with-values (lambda () (gen-syntax1049 src1083 (cons 
e11136 e21137) r1085 maps1086 ellipsis?1087 mod1088)) (lambda (e1139 maps1140) 
(values (gen-vector1055 e1139) maps1140)))) tmp1135) ((lambda (_1141) (values 
(list (quote quote) e1084) maps1086)) tmp1094))) ($sc-dispatch tmp1094 (quote 
#(vector (any . each-any))))))) ($sc-dispatch tmp1094 (quote (any . any)))))) 
($sc-dispatch tmp1094 (quote (any any . any)))))) ($sc-dispatch tmp1094 (quote 
(any any))))) e1084))))) (lambda (e1142 r1143 w1144 s1145 mod1146) (let ((e1147 
(source-wrap277 e1142 w1144 s1145 mod1146))) ((lambda (tmp1148) ((lambda 
(tmp1149) (if tmp1149 (apply (lambda (_1150 x1151) (call-with-values (lambda () 
(gen-syntax1049 e1147 x1151 r1143 (quote ()) ellipsis?293 mod1146)) (lambda 
(e1152 maps1153) (regen1056 e1152)))) tmp1149) ((lambda (_1154) 
(syntax-violation (quote syntax) "bad `syntax' form" e1147)) tmp1148))) 
($sc-dispatch tmp1148 (quote (any any))))) e1147))))) (global-extend246 (quote 
core) (quote lambda) (lambda (e1155 r1156 w1157 s1158 mod1159) ((lambda 
(tmp1160) ((lambda (tmp1161) (if tmp1161 (apply (lambda (_1162 c1163) 
(chi-lambda-clause289 (source-wrap277 e1155 w1157 s1158 mod1159) #f c1163 r1156 
w1157 mod1159 (lambda (names1164 vars1165 docstring1166 body1167) 
(build-lambda224 s1158 names1164 vars1165 docstring1166 body1167)))) tmp1161) 
(syntax-violation #f "source expression failed to match any pattern" tmp1160))) 
($sc-dispatch tmp1160 (quote (any . any))))) e1155))) (global-extend246 (quote 
core) (quote let) (letrec ((chi-let1168 (lambda (e1169 r1170 w1171 s1172 
mod1173 constructor1174 ids1175 vals1176 exps1177) (if (not 
(valid-bound-ids?273 ids1175)) (syntax-violation (quote let) "duplicate bound 
variable" e1169) (let ((labels1178 (gen-labels254 ids1175)) (new-vars1179 (map 
gen-var295 ids1175))) (let ((nw1180 (make-binding-wrap265 ids1175 labels1178 
w1171)) (nr1181 (extend-var-env243 labels1178 new-vars1179 r1170))) 
(constructor1174 s1172 (map syntax->datum ids1175) new-vars1179 (map (lambda 
(x1182) (chi284 x1182 r1170 w1171 mod1173)) vals1176) (chi-body288 exps1177 
(source-wrap277 e1169 nw1180 s1172 mod1173) nr1181 nw1180 mod1173)))))))) 
(lambda (e1183 r1184 w1185 s1186 mod1187) ((lambda (tmp1188) ((lambda (tmp1189) 
(if (if tmp1189 (apply (lambda (_1190 id1191 val1192 e11193 e21194) (and-map 
id?248 id1191)) tmp1189) #f) (apply (lambda (_1196 id1197 val1198 e11199 
e21200) (chi-let1168 e1183 r1184 w1185 s1186 mod1187 build-let228 id1197 
val1198 (cons e11199 e21200))) tmp1189) ((lambda (tmp1204) (if (if tmp1204 
(apply (lambda (_1205 f1206 id1207 val1208 e11209 e21210) (if (id?248 f1206) 
(and-map id?248 id1207) #f)) tmp1204) #f) (apply (lambda (_1212 f1213 id1214 
val1215 e11216 e21217) (chi-let1168 e1183 r1184 w1185 s1186 mod1187 
build-named-let229 (cons f1213 id1214) val1215 (cons e11216 e21217))) tmp1204) 
((lambda (_1221) (syntax-violation (quote let) "bad let" (source-wrap277 e1183 
w1185 s1186 mod1187))) tmp1188))) ($sc-dispatch tmp1188 (quote (any any #(each 
(any any)) any . each-any)))))) ($sc-dispatch tmp1188 (quote (any #(each (any 
any)) any . each-any))))) e1183)))) (global-extend246 (quote core) (quote 
letrec) (lambda (e1222 r1223 w1224 s1225 mod1226) ((lambda (tmp1227) ((lambda 
(tmp1228) (if (if tmp1228 (apply (lambda (_1229 id1230 val1231 e11232 e21233) 
(and-map id?248 id1230)) tmp1228) #f) (apply (lambda (_1235 id1236 val1237 
e11238 e21239) (let ((ids1240 id1236)) (if (not (valid-bound-ids?273 ids1240)) 
(syntax-violation (quote letrec) "duplicate bound variable" e1222) (let 
((labels1242 (gen-labels254 ids1240)) (new-vars1243 (map gen-var295 ids1240))) 
(let ((w1244 (make-binding-wrap265 ids1240 labels1242 w1224)) (r1245 
(extend-var-env243 labels1242 new-vars1243 r1223))) (build-letrec230 s1225 (map 
syntax->datum ids1240) new-vars1243 (map (lambda (x1246) (chi284 x1246 r1245 
w1244 mod1226)) val1237) (chi-body288 (cons e11238 e21239) (source-wrap277 
e1222 w1244 s1225 mod1226) r1245 w1244 mod1226))))))) tmp1228) ((lambda (_1249) 
(syntax-violation (quote letrec) "bad letrec" (source-wrap277 e1222 w1224 s1225 
mod1226))) tmp1227))) ($sc-dispatch tmp1227 (quote (any #(each (any any)) any . 
each-any))))) e1222))) (global-extend246 (quote core) (quote set!) (lambda 
(e1250 r1251 w1252 s1253 mod1254) ((lambda (tmp1255) ((lambda (tmp1256) (if (if 
tmp1256 (apply (lambda (_1257 id1258 val1259) (id?248 id1258)) tmp1256) #f) 
(apply (lambda (_1260 id1261 val1262) (let ((val1263 (chi284 val1262 r1251 
w1252 mod1254)) (n1264 (id-var-name270 id1261 w1252))) (let ((b1265 (lookup245 
n1264 r1251 mod1254))) (let ((atom-key1266 (binding-type240 b1265))) (if (memv 
atom-key1266 (quote (lexical))) (build-lexical-assignment218 s1253 
(syntax->datum id1261) (binding-value241 b1265) val1263) (if (memv atom-key1266 
(quote (global))) (build-global-assignment221 s1253 n1264 val1263 mod1254) (if 
(memv atom-key1266 (quote (displaced-lexical))) (syntax-violation (quote set!) 
"identifier out of context" (wrap276 id1261 w1252 mod1254)) (syntax-violation 
(quote set!) "bad set!" (source-wrap277 e1250 w1252 s1253 mod1254))))))))) 
tmp1256) ((lambda (tmp1267) (if tmp1267 (apply (lambda (_1268 head1269 tail1270 
val1271) (call-with-values (lambda () (syntax-type282 head1269 r1251 (quote 
(())) #f #f mod1254)) (lambda (type1272 value1273 ee1274 ww1275 ss1276 
modmod1277) (if (memv type1272 (quote (module-ref))) (let ((val1278 (chi284 
val1271 r1251 w1252 mod1254))) (call-with-values (lambda () (value1273 (cons 
head1269 tail1270))) (lambda (id1280 mod1281) (build-global-assignment221 s1253 
id1280 val1278 mod1281)))) (build-application215 s1253 (chi284 (list (quote 
#(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 
ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 
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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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))) head1269) r1251 w1252 mod1254) (map 
(lambda (e1282) (chi284 e1282 r1251 w1252 mod1254)) (append tail1270 (list 
val1271)))))))) tmp1267) ((lambda (_1284) (syntax-violation (quote set!) "bad 
set!" (source-wrap277 e1250 w1252 s1253 mod1254))) tmp1255))) ($sc-dispatch 
tmp1255 (quote (any (any . each-any) any)))))) ($sc-dispatch tmp1255 (quote 
(any any any))))) e1250))) (global-extend246 (quote module-ref) (quote @) 
(lambda (e1285) ((lambda (tmp1286) ((lambda (tmp1287) (if (if tmp1287 (apply 
(lambda (_1288 mod1289 id1290) (if (and-map id?248 mod1289) (id?248 id1290) 
#f)) tmp1287) #f) (apply (lambda (_1292 mod1293 id1294) (values (syntax->datum 
id1294) (syntax->datum (cons (quote #(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 ellipsis? chi-void 
eval-local-transformer chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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))) mod1293)))) tmp1287) 
(syntax-violation #f "source expression failed to match any pattern" tmp1286))) 
($sc-dispatch tmp1286 (quote (any each-any any))))) e1285))) (global-extend246 
(quote module-ref) (quote @@) (lambda (e1296) ((lambda (tmp1297) ((lambda 
(tmp1298) (if (if tmp1298 (apply (lambda (_1299 mod1300 id1301) (if (and-map 
id?248 mod1300) (id?248 id1301) #f)) tmp1298) #f) (apply (lambda (_1303 mod1304 
id1305) (values (syntax->datum id1305) (syntax->datum (cons (quote 
#(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 ellipsis? chi-void eval-local-transformer 
chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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))) mod1304)))) tmp1298) 
(syntax-violation #f "source expression failed to match any pattern" tmp1297))) 
($sc-dispatch tmp1297 (quote (any each-any any))))) e1296))) (global-extend246 
(quote core) (quote if) (lambda (e1307 r1308 w1309 s1310 mod1311) ((lambda 
(tmp1312) ((lambda (tmp1313) (if tmp1313 (apply (lambda (_1314 test1315 
then1316) (build-conditional216 s1310 (chi284 test1315 r1308 w1309 mod1311) 
(chi284 then1316 r1308 w1309 mod1311) (build-void214 #f))) tmp1313) ((lambda 
(tmp1317) (if tmp1317 (apply (lambda (_1318 test1319 then1320 else1321) 
(build-conditional216 s1310 (chi284 test1319 r1308 w1309 mod1311) (chi284 
then1320 r1308 w1309 mod1311) (chi284 else1321 r1308 w1309 mod1311))) tmp1317) 
(syntax-violation #f "source expression failed to match any pattern" tmp1312))) 
($sc-dispatch tmp1312 (quote (any any any any)))))) ($sc-dispatch tmp1312 
(quote (any any any))))) e1307))) (global-extend246 (quote begin) (quote begin) 
(quote ())) (global-extend246 (quote define) (quote define) (quote ())) 
(global-extend246 (quote define-syntax) (quote define-syntax) (quote ())) 
(global-extend246 (quote eval-when) (quote eval-when) (quote ())) 
(global-extend246 (quote core) (quote syntax-case) (letrec 
((gen-syntax-case1325 (lambda (x1326 keys1327 clauses1328 r1329 mod1330) (if 
(null? clauses1328) (build-application215 #f (build-primref225 #f (quote 
syntax-violation)) (list (build-data226 #f #f) (build-data226 #f "source 
expression failed to match any pattern") x1326)) ((lambda (tmp1331) ((lambda 
(tmp1332) (if tmp1332 (apply (lambda (pat1333 exp1334) (if (if (id?248 pat1333) 
(and-map (lambda (x1335) (not (free-id=?271 pat1333 x1335))) (cons (quote 
#(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 ellipsis? chi-void 
eval-local-transformer chi-local-syntax chi-lambda-clause 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 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 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)) ("i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "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))) keys1327)) #f) (let ((labels1336 
(list (gen-label253))) (var1337 (gen-var295 pat1333))) (build-application215 #f 
(build-lambda224 #f (list (syntax->datum pat1333)) (list var1337) #f (chi284 
exp1334 (extend-env242 labels1336 (list (cons (quote syntax) (cons var1337 0))) 
r1329) (make-binding-wrap265 (list pat1333) labels1336 (quote (()))) mod1330)) 
(list x1326))) (gen-clause1324 x1326 keys1327 (cdr clauses1328) r1329 pat1333 
#t exp1334 mod1330))) tmp1332) ((lambda (tmp1338) (if tmp1338 (apply (lambda 
(pat1339 fender1340 exp1341) (gen-clause1324 x1326 keys1327 (cdr clauses1328) 
r1329 pat1339 fender1340 exp1341 mod1330)) tmp1338) ((lambda (_1342) 
(syntax-violation (quote syntax-case) "invalid clause" (car clauses1328))) 
tmp1331))) ($sc-dispatch tmp1331 (quote (any any any)))))) ($sc-dispatch 
tmp1331 (quote (any any))))) (car clauses1328))))) (gen-clause1324 (lambda 
(x1343 keys1344 clauses1345 r1346 pat1347 fender1348 exp1349 mod1350) 
(call-with-values (lambda () (convert-pattern1322 pat1347 keys1344)) (lambda 
(p1351 pvars1352) (if (not (distinct-bound-ids?274 (map car pvars1352))) 
(syntax-violation (quote syntax-case) "duplicate pattern variable" pat1347) (if 
(not (and-map (lambda (x1353) (not (ellipsis?293 (car x1353)))) pvars1352)) 
(syntax-violation (quote syntax-case) "misplaced ellipsis" pat1347) (let 
((y1354 (gen-var295 (quote tmp)))) (build-application215 #f (build-lambda224 #f 
(list (quote tmp)) (list y1354) #f (let ((y1355 (build-lexical-reference217 
(quote value) #f (quote tmp) y1354))) (build-conditional216 #f ((lambda 
(tmp1356) ((lambda (tmp1357) (if tmp1357 (apply (lambda () y1355) tmp1357) 
((lambda (_1358) (build-conditional216 #f y1355 (build-dispatch-call1323 
pvars1352 fender1348 y1355 r1346 mod1350) (build-data226 #f #f))) tmp1356))) 
($sc-dispatch tmp1356 (quote #(atom #t))))) fender1348) 
(build-dispatch-call1323 pvars1352 exp1349 y1355 r1346 mod1350) 
(gen-syntax-case1325 x1343 keys1344 clauses1345 r1346 mod1350)))) (list (if 
(eq? p1351 (quote any)) (build-application215 #f (build-primref225 #f (quote 
list)) (list x1343)) (build-application215 #f (build-primref225 #f (quote 
$sc-dispatch)) (list x1343 (build-data226 #f p1351))))))))))))) 
(build-dispatch-call1323 (lambda (pvars1359 exp1360 y1361 r1362 mod1363) (let 
((ids1364 (map car pvars1359)) (levels1365 (map cdr pvars1359))) (let 
((labels1366 (gen-labels254 ids1364)) (new-vars1367 (map gen-var295 ids1364))) 
(build-application215 #f (build-primref225 #f (quote apply)) (list 
(build-lambda224 #f (map syntax->datum ids1364) new-vars1367 #f (chi284 exp1360 
(extend-env242 labels1366 (map (lambda (var1368 level1369) (cons (quote syntax) 
(cons var1368 level1369))) new-vars1367 (map cdr pvars1359)) r1362) 
(make-binding-wrap265 ids1364 labels1366 (quote (()))) mod1363)) y1361)))))) 
(convert-pattern1322 (lambda (pattern1370 keys1371) (letrec ((cvt1372 (lambda 
(p1373 n1374 ids1375) (if (id?248 p1373) (if (bound-id-member?275 p1373 
keys1371) (values (vector (quote free-id) p1373) ids1375) (values (quote any) 
(cons (cons p1373 n1374) ids1375))) ((lambda (tmp1376) ((lambda (tmp1377) (if 
(if tmp1377 (apply (lambda (x1378 dots1379) (ellipsis?293 dots1379)) tmp1377) 
#f) (apply (lambda (x1380 dots1381) (call-with-values (lambda () (cvt1372 x1380 
(fx+206 n1374 1) ids1375)) (lambda (p1382 ids1383) (values (if (eq? p1382 
(quote any)) (quote each-any) (vector (quote each) p1382)) ids1383)))) tmp1377) 
((lambda (tmp1384) (if tmp1384 (apply (lambda (x1385 y1386) (call-with-values 
(lambda () (cvt1372 y1386 n1374 ids1375)) (lambda (y1387 ids1388) 
(call-with-values (lambda () (cvt1372 x1385 n1374 ids1388)) (lambda (x1389 
ids1390) (values (cons x1389 y1387) ids1390)))))) tmp1384) ((lambda (tmp1391) 
(if tmp1391 (apply (lambda () (values (quote ()) ids1375)) tmp1391) ((lambda 
(tmp1392) (if tmp1392 (apply (lambda (x1393) (call-with-values (lambda () 
(cvt1372 x1393 n1374 ids1375)) (lambda (p1395 ids1396) (values (vector (quote 
vector) p1395) ids1396)))) tmp1392) ((lambda (x1397) (values (vector (quote 
atom) (strip294 p1373 (quote (())))) ids1375)) tmp1376))) ($sc-dispatch tmp1376 
(quote #(vector each-any)))))) ($sc-dispatch tmp1376 (quote ()))))) 
($sc-dispatch tmp1376 (quote (any . any)))))) ($sc-dispatch tmp1376 (quote (any 
any))))) p1373))))) (cvt1372 pattern1370 0 (quote ())))))) (lambda (e1398 r1399 
w1400 s1401 mod1402) (let ((e1403 (source-wrap277 e1398 w1400 s1401 mod1402))) 
((lambda (tmp1404) ((lambda (tmp1405) (if tmp1405 (apply (lambda (_1406 val1407 
key1408 m1409) (if (and-map (lambda (x1410) (if (id?248 x1410) (not 
(ellipsis?293 x1410)) #f)) key1408) (let ((x1412 (gen-var295 (quote tmp)))) 
(build-application215 s1401 (build-lambda224 #f (list (quote tmp)) (list x1412) 
#f (gen-syntax-case1325 (build-lexical-reference217 (quote value) #f (quote 
tmp) x1412) key1408 m1409 r1399 mod1402)) (list (chi284 val1407 r1399 (quote 
(())) mod1402)))) (syntax-violation (quote syntax-case) "invalid literals list" 
e1403))) tmp1405) (syntax-violation #f "source expression failed to match any 
pattern" tmp1404))) ($sc-dispatch tmp1404 (quote (any any each-any . 
each-any))))) e1403))))) (set! sc-expand (lambda (x1416 . rest1415) (if (if 
(pair? x1416) (equal? (car x1416) noexpand204) #f) (cadr x1416) (let ((m1417 
(if (null? rest1415) (quote e) (car rest1415))) (esew1418 (if (let ((t1419 
(null? rest1415))) (if t1419 t1419 (null? (cdr rest1415)))) (quote (eval)) 
(cadr rest1415)))) (with-fluid* *mode*205 m1417 (lambda () (chi-top283 x1416 
(quote ()) (quote ((top))) m1417 esew1418 (cons (quote hygiene) (module-name 
(current-module)))))))))) (set! identifier? (lambda (x1420) (nonsymbol-id?247 
x1420))) (set! datum->syntax (lambda (id1421 datum1422) (make-syntax-object231 
datum1422 (syntax-object-wrap234 id1421) #f))) (set! syntax->datum (lambda 
(x1423) (strip294 x1423 (quote (()))))) (set! generate-temporaries (lambda 
(ls1424) (begin (let ((x1425 ls1424)) (if (not (list? x1425)) (syntax-violation 
(quote generate-temporaries) "invalid argument" x1425))) (map (lambda (x1426) 
(wrap276 (gensym) (quote ((top))) #f)) ls1424)))) (set! free-identifier=? 
(lambda (x1427 y1428) (begin (let ((x1429 x1427)) (if (not (nonsymbol-id?247 
x1429)) (syntax-violation (quote free-identifier=?) "invalid argument" x1429))) 
(let ((x1430 y1428)) (if (not (nonsymbol-id?247 x1430)) (syntax-violation 
(quote free-identifier=?) "invalid argument" x1430))) (free-id=?271 x1427 
y1428)))) (set! bound-identifier=? (lambda (x1431 y1432) (begin (let ((x1433 
x1431)) (if (not (nonsymbol-id?247 x1433)) (syntax-violation (quote 
bound-identifier=?) "invalid argument" x1433))) (let ((x1434 y1432)) (if (not 
(nonsymbol-id?247 x1434)) (syntax-violation (quote bound-identifier=?) "invalid 
argument" x1434))) (bound-id=?272 x1431 y1432)))) (set! syntax-violation 
(lambda (who1438 message1437 form1436 . subform1435) (begin (let ((x1439 
who1438)) (if (not ((lambda (x1440) (let ((t1441 (not x1440))) (if t1441 t1441 
(let ((t1442 (string? x1440))) (if t1442 t1442 (symbol? x1440)))))) x1439)) 
(syntax-violation (quote syntax-violation) "invalid argument" x1439))) (let 
((x1443 message1437)) (if (not (string? x1443)) (syntax-violation (quote 
syntax-violation) "invalid argument" x1443))) (scm-error (quote syntax-error) 
(quote sc-expand) (string-append (if who1438 "~a: " "") "~a " (if (null? 
subform1435) "in ~a" "in subform `~s' of `~s'")) (let ((tail1444 (cons 
message1437 (map (lambda (x1445) (strip294 x1445 (quote (())))) (append 
subform1435 (list form1436)))))) (if who1438 (cons who1438 tail1444) tail1444)) 
#f)))) (letrec ((match1450 (lambda (e1451 p1452 w1453 r1454 mod1455) (if (not 
r1454) #f (if (eq? p1452 (quote any)) (cons (wrap276 e1451 w1453 mod1455) 
r1454) (if (syntax-object?232 e1451) (match*1449 (syntax-object-expression233 
e1451) p1452 (join-wraps267 w1453 (syntax-object-wrap234 e1451)) r1454 
(syntax-object-module235 e1451)) (match*1449 e1451 p1452 w1453 r1454 
mod1455)))))) (match*1449 (lambda (e1456 p1457 w1458 r1459 mod1460) (if (null? 
p1457) (if (null? e1456) r1459 #f) (if (pair? p1457) (if (pair? e1456) 
(match1450 (car e1456) (car p1457) w1458 (match1450 (cdr e1456) (cdr p1457) 
w1458 r1459 mod1460) mod1460) #f) (if (eq? p1457 (quote each-any)) (let ((l1461 
(match-each-any1447 e1456 w1458 mod1460))) (if l1461 (cons l1461 r1459) #f)) 
(let ((atom-key1462 (vector-ref p1457 0))) (if (memv atom-key1462 (quote 
(each))) (if (null? e1456) (match-empty1448 (vector-ref p1457 1) r1459) (let 
((l1463 (match-each1446 e1456 (vector-ref p1457 1) w1458 mod1460))) (if l1463 
(letrec ((collect1464 (lambda (l1465) (if (null? (car l1465)) r1459 (cons (map 
car l1465) (collect1464 (map cdr l1465))))))) (collect1464 l1463)) #f))) (if 
(memv atom-key1462 (quote (free-id))) (if (id?248 e1456) (if (free-id=?271 
(wrap276 e1456 w1458 mod1460) (vector-ref p1457 1)) r1459 #f) #f) (if (memv 
atom-key1462 (quote (atom))) (if (equal? (vector-ref p1457 1) (strip294 e1456 
w1458)) r1459 #f) (if (memv atom-key1462 (quote (vector))) (if (vector? e1456) 
(match1450 (vector->list e1456) (vector-ref p1457 1) w1458 r1459 mod1460) 
#f))))))))))) (match-empty1448 (lambda (p1466 r1467) (if (null? p1466) r1467 
(if (eq? p1466 (quote any)) (cons (quote ()) r1467) (if (pair? p1466) 
(match-empty1448 (car p1466) (match-empty1448 (cdr p1466) r1467)) (if (eq? 
p1466 (quote each-any)) (cons (quote ()) r1467) (let ((atom-key1468 (vector-ref 
p1466 0))) (if (memv atom-key1468 (quote (each))) (match-empty1448 (vector-ref 
p1466 1) r1467) (if (memv atom-key1468 (quote (free-id atom))) r1467 (if (memv 
atom-key1468 (quote (vector))) (match-empty1448 (vector-ref p1466 1) 
r1467))))))))))) (match-each-any1447 (lambda (e1469 w1470 mod1471) (if (pair? 
e1469) (let ((l1472 (match-each-any1447 (cdr e1469) w1470 mod1471))) (if l1472 
(cons (wrap276 (car e1469) w1470 mod1471) l1472) #f)) (if (null? e1469) (quote 
()) (if (syntax-object?232 e1469) (match-each-any1447 
(syntax-object-expression233 e1469) (join-wraps267 w1470 (syntax-object-wrap234 
e1469)) mod1471) #f))))) (match-each1446 (lambda (e1473 p1474 w1475 mod1476) 
(if (pair? e1473) (let ((first1477 (match1450 (car e1473) p1474 w1475 (quote 
()) mod1476))) (if first1477 (let ((rest1478 (match-each1446 (cdr e1473) p1474 
w1475 mod1476))) (if rest1478 (cons first1477 rest1478) #f)) #f)) (if (null? 
e1473) (quote ()) (if (syntax-object?232 e1473) (match-each1446 
(syntax-object-expression233 e1473) p1474 (join-wraps267 w1475 
(syntax-object-wrap234 e1473)) (syntax-object-module235 e1473)) #f)))))) (set! 
$sc-dispatch (lambda (e1479 p1480) (if (eq? p1480 (quote any)) (list e1479) (if 
(syntax-object?232 e1479) (match*1449 (syntax-object-expression233 e1479) p1480 
(syntax-object-wrap234 e1479) (quote ()) (syntax-object-module235 e1479)) 
(match*1449 e1479 p1480 (quote (())) (quote ()) #f)))))))))
+(define with-syntax (make-syncase-macro (quote macro) (lambda (x1481) ((lambda 
(tmp1482) ((lambda (tmp1483) (if tmp1483 (apply (lambda (_1484 e11485 e21486) 
(cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e11485 e21486))) tmp1483) ((lambda (tmp1488) (if 
tmp1488 (apply (lambda (_1489 out1490 in1491 e11492 e21493) (list (quote 
#(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))) in1491 (quote ()) (list out1490 (cons 
(quote #(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 e11492 e21493))))) tmp1488) ((lambda 
(tmp1495) (if tmp1495 (apply (lambda (_1496 out1497 in1498 e11499 e21500) (list 
(quote #(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 (quote #(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))) in1498) (quote ()) (list out1497 (cons (quote #(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 e11499 e21500))))) tmp1495) (syntax-violation #f "source 
expression failed to match any pattern" tmp1482))) ($sc-dispatch tmp1482 (quote 
(any #(each (any any)) any . each-any)))))) ($sc-dispatch tmp1482 (quote (any 
((any any)) any . each-any)))))) ($sc-dispatch tmp1482 (quote (any () any . 
each-any))))) x1481))))
+(define syntax-rules (make-syncase-macro (quote macro) (lambda (x1504) 
((lambda (tmp1505) ((lambda (tmp1506) (if tmp1506 (apply (lambda (_1507 k1508 
keyword1509 pattern1510 template1511) (list (quote #(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))) (quote (#(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 (quote #(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 (quote 
#(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 k1508 (map (lambda (tmp1514 
tmp1513) (list (cons (quote #(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))) 
tmp1513) (list (quote #(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))) 
tmp1514))) template1511 pattern1510)))))) tmp1506) (syntax-violation #f "source 
expression failed to match any pattern" tmp1505))) ($sc-dispatch tmp1505 (quote 
(any each-any . #(each ((any . any) any))))))) x1504))))
+(define let* (make-extended-syncase-macro (module-ref (current-module) (quote 
let*)) (quote macro) (lambda (x1515) ((lambda (tmp1516) ((lambda (tmp1517) (if 
(if tmp1517 (apply (lambda (let*1518 x1519 v1520 e11521 e21522) (and-map 
identifier? x1519)) tmp1517) #f) (apply (lambda (let*1524 x1525 v1526 e11527 
e21528) (letrec ((f1529 (lambda (bindings1530) (if (null? bindings1530) (cons 
(quote #(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 (quote ()) (cons e11527 e21528))) 
((lambda (tmp1534) ((lambda (tmp1535) (if tmp1535 (apply (lambda (body1536 
binding1537) (list (quote #(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 binding1537) body1536)) tmp1535) (syntax-violation #f 
"source expression failed to match any pattern" tmp1534))) ($sc-dispatch 
tmp1534 (quote (any any))))) (list (f1529 (cdr bindings1530)) (car 
bindings1530))))))) (f1529 (map list x1525 v1526)))) tmp1517) (syntax-violation 
#f "source expression failed to match any pattern" tmp1516))) ($sc-dispatch 
tmp1516 (quote (any #(each (any any)) any . each-any))))) x1515))))
+(define do (make-extended-syncase-macro (module-ref (current-module) (quote 
do)) (quote macro) (lambda (orig-x1538) ((lambda (tmp1539) ((lambda (tmp1540) 
(if tmp1540 (apply (lambda (_1541 var1542 init1543 step1544 e01545 e11546 
c1547) ((lambda (tmp1548) ((lambda (tmp1549) (if tmp1549 (apply (lambda 
(step1550) ((lambda (tmp1551) ((lambda (tmp1552) (if tmp1552 (apply (lambda () 
(list (quote #(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))) (quote #(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 
var1542 init1543) (list (quote #(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 (quote 
#(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))) e01545) (cons (quote #(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 c1547 (list 
(cons (quote #(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))) step1550))))))) tmp1552) ((lambda (tmp1557) 
(if tmp1557 (apply (lambda (e11558 e21559) (list (quote #(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))) (quote #(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 var1542 init1543) (list 
(quote #(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))) e01545 (cons 
(quote #(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 e11558 e21559)) (cons (quote #(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 c1547 (list (cons (quote #(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))) step1550))))))) tmp1557) 
(syntax-violation #f "source expression failed to match any pattern" tmp1551))) 
($sc-dispatch tmp1551 (quote (any . each-any)))))) ($sc-dispatch tmp1551 (quote 
())))) e11546)) tmp1549) (syntax-violation #f "source expression failed to 
match any pattern" tmp1548))) ($sc-dispatch tmp1548 (quote each-any)))) (map 
(lambda (v1566 s1567) ((lambda (tmp1568) ((lambda (tmp1569) (if tmp1569 (apply 
(lambda () v1566) tmp1569) ((lambda (tmp1570) (if tmp1570 (apply (lambda 
(e1571) e1571) tmp1570) ((lambda (_1572) (syntax-violation (quote do) "bad step 
expression" orig-x1538 s1567)) tmp1568))) ($sc-dispatch tmp1568 (quote 
(any)))))) ($sc-dispatch tmp1568 (quote ())))) s1567)) var1542 step1544))) 
tmp1540) (syntax-violation #f "source expression failed to match any pattern" 
tmp1539))) ($sc-dispatch tmp1539 (quote (any #(each (any any . any)) (any . 
each-any) . each-any))))) orig-x1538))))
+(define quasiquote (make-extended-syncase-macro (module-ref (current-module) 
(quote quasiquote)) (quote macro) (letrec ((quasicons1575 (lambda (x1579 y1580) 
((lambda (tmp1581) ((lambda (tmp1582) (if tmp1582 (apply (lambda (x1583 y1584) 
((lambda (tmp1585) ((lambda (tmp1586) (if tmp1586 (apply (lambda (dy1587) 
((lambda (tmp1588) ((lambda (tmp1589) (if tmp1589 (apply (lambda (dx1590) (list 
(quote #(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 dx1590 dy1587))) tmp1589) ((lambda 
(_1591) (if (null? dy1587) (list (quote #(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))) x1583) (list 
(quote #(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))) x1583 y1584))) tmp1588))) ($sc-dispatch 
tmp1588 (quote (#(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))))) x1583)) tmp1586) ((lambda (tmp1592) (if 
tmp1592 (apply (lambda (stuff1593) (cons (quote #(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 x1583 stuff1593))) tmp1592) 
((lambda (else1594) (list (quote #(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))) x1583 y1584)) tmp1585))) ($sc-dispatch tmp1585 
(quote (#(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 tmp1585 (quote (#(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))))) y1584)) tmp1582) (syntax-violation #f "source expression 
failed to match any pattern" tmp1581))) ($sc-dispatch tmp1581 (quote (any 
any))))) (list x1579 y1580)))) (quasiappend1576 (lambda (x1595 y1596) ((lambda 
(tmp1597) ((lambda (tmp1598) (if tmp1598 (apply (lambda (x1599 y1600) ((lambda 
(tmp1601) ((lambda (tmp1602) (if tmp1602 (apply (lambda () x1599) tmp1602) 
((lambda (_1603) (list (quote #(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))) x1599 y1600)) tmp1601))) ($sc-dispatch tmp1601 
(quote (#(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))) ()))))) y1600)) 
tmp1598) (syntax-violation #f "source expression failed to match any pattern" 
tmp1597))) ($sc-dispatch tmp1597 (quote (any any))))) (list x1595 y1596)))) 
(quasivector1577 (lambda (x1604) ((lambda (tmp1605) ((lambda (x1606) ((lambda 
(tmp1607) ((lambda (tmp1608) (if tmp1608 (apply (lambda (x1609) (list (quote 
#(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 
x1609))) tmp1608) ((lambda (tmp1611) (if tmp1611 (apply (lambda (x1612) (cons 
(quote #(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))) x1612)) tmp1611) 
((lambda (_1614) (list (quote #(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))) x1606)) tmp1607))) ($sc-dispatch tmp1607 (quote (#(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 tmp1607 (quote (#(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))))) x1606)) tmp1605)) x1604))) (quasi1578 (lambda 
(p1615 lev1616) ((lambda (tmp1617) ((lambda (tmp1618) (if tmp1618 (apply 
(lambda (p1619) (if (= lev1616 0) p1619 (quasicons1575 (quote (#(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)))) (quasi1578 (list p1619) (- lev1616 1))))) tmp1618) ((lambda 
(tmp1620) (if (if tmp1620 (apply (lambda (args1621) (= lev1616 0)) tmp1620) #f) 
(apply (lambda (args1622) (syntax-violation (quote unquote) "unquote takes 
exactly one argument" p1615 (cons (quote #(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))) args1622))) 
tmp1620) ((lambda (tmp1623) (if tmp1623 (apply (lambda (p1624 q1625) (if (= 
lev1616 0) (quasiappend1576 p1624 (quasi1578 q1625 lev1616)) (quasicons1575 
(quasicons1575 (quote (#(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)))) (quasi1578 (list p1624) (- lev1616 1))) (quasi1578 q1625 lev1616)))) 
tmp1623) ((lambda (tmp1626) (if (if tmp1626 (apply (lambda (args1627 q1628) (= 
lev1616 0)) tmp1626) #f) (apply (lambda (args1629 q1630) (syntax-violation 
(quote unquote-splicing) "unquote-splicing takes exactly one argument" p1615 
(cons (quote #(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))) args1629))) tmp1626) 
((lambda (tmp1631) (if tmp1631 (apply (lambda (p1632) (quasicons1575 (quote 
(#(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)))) (quasi1578 (list p1632) (+ lev1616 
1)))) tmp1631) ((lambda (tmp1633) (if tmp1633 (apply (lambda (p1634 q1635) 
(quasicons1575 (quasi1578 p1634 lev1616) (quasi1578 q1635 lev1616))) tmp1633) 
((lambda (tmp1636) (if tmp1636 (apply (lambda (x1637) (quasivector1577 
(quasi1578 x1637 lev1616))) tmp1636) ((lambda (p1639) (list (quote 
#(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))) p1639)) tmp1617))) ($sc-dispatch tmp1617 (quote #(vector 
each-any)))))) ($sc-dispatch tmp1617 (quote (any . any)))))) ($sc-dispatch 
tmp1617 (quote (#(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 tmp1617 (quote ((#(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 tmp1617 (quote ((#(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 tmp1617 
(quote (#(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 tmp1617 (quote (#(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))))) p1615)))) (lambda 
(x1640) ((lambda (tmp1641) ((lambda (tmp1642) (if tmp1642 (apply (lambda (_1643 
e1644) (quasi1578 e1644 0)) tmp1642) (syntax-violation #f "source expression 
failed to match any pattern" tmp1641))) ($sc-dispatch tmp1641 (quote (any 
any))))) x1640)))))
+(define include (make-syncase-macro (quote macro) (lambda (x1645) (letrec 
((read-file1646 (lambda (fn1647 k1648) (let ((p1649 (open-input-file fn1647))) 
(letrec ((f1650 (lambda (x1651) (if (eof-object? x1651) (begin 
(close-input-port p1649) (quote ())) (cons (datum->syntax k1648 x1651) (f1650 
(read p1649))))))) (f1650 (read p1649))))))) ((lambda (tmp1652) ((lambda 
(tmp1653) (if tmp1653 (apply (lambda (k1654 filename1655) (let ((fn1656 
(syntax->datum filename1655))) ((lambda (tmp1657) ((lambda (tmp1658) (if 
tmp1658 (apply (lambda (exp1659) (cons (quote #(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))) exp1659)) tmp1658) (syntax-violation #f "source expression 
failed to match any pattern" tmp1657))) ($sc-dispatch tmp1657 (quote 
each-any)))) (read-file1646 fn1656 k1654)))) tmp1653) (syntax-violation #f 
"source expression failed to match any pattern" tmp1652))) ($sc-dispatch 
tmp1652 (quote (any any))))) x1645)))))
+(define unquote (make-syncase-macro (quote macro) (lambda (x1661) ((lambda 
(tmp1662) ((lambda (tmp1663) (if tmp1663 (apply (lambda (_1664 e1665) 
(syntax-violation (quote unquote) "expression not valid outside of quasiquote" 
x1661)) tmp1663) (syntax-violation #f "source expression failed to match any 
pattern" tmp1662))) ($sc-dispatch tmp1662 (quote (any any))))) x1661))))
+(define unquote-splicing (make-syncase-macro (quote macro) (lambda (x1666) 
((lambda (tmp1667) ((lambda (tmp1668) (if tmp1668 (apply (lambda (_1669 e1670) 
(syntax-violation (quote unquote-splicing) "expression not valid outside of 
quasiquote" x1666)) tmp1668) (syntax-violation #f "source expression failed to 
match any pattern" tmp1667))) ($sc-dispatch tmp1667 (quote (any any))))) 
x1666))))
+(define case (make-extended-syncase-macro (module-ref (current-module) (quote 
case)) (quote macro) (lambda (x1671) ((lambda (tmp1672) ((lambda (tmp1673) (if 
tmp1673 (apply (lambda (_1674 e1675 m11676 m21677) ((lambda (tmp1678) ((lambda 
(body1679) (list (quote #(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 (quote #(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))) e1675)) body1679)) 
tmp1678)) (letrec ((f1680 (lambda (clause1681 clauses1682) (if (null? 
clauses1682) ((lambda (tmp1684) ((lambda (tmp1685) (if tmp1685 (apply (lambda 
(e11686 e21687) (cons (quote #(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 e11686 e21687))) tmp1685) ((lambda (tmp1689) (if 
tmp1689 (apply (lambda (k1690 e11691 e21692) (list (quote #(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 (quote 
#(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))) 
(quote #(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 (quote #(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))) k1690)) (cons (quote #(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 e11691 e21692)))) tmp1689) 
((lambda (_1695) (syntax-violation (quote case) "bad clause" x1671 clause1681)) 
tmp1684))) ($sc-dispatch tmp1684 (quote (each-any any . each-any)))))) 
($sc-dispatch tmp1684 (quote (#(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))))) clause1681) ((lambda (tmp1696) ((lambda (rest1697) ((lambda 
(tmp1698) ((lambda (tmp1699) (if tmp1699 (apply (lambda (k1700 e11701 e21702) 
(list (quote #(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 (quote #(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))) (quote #(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 (quote 
#(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))) k1700)) (cons (quote #(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 e11701 e21702)) rest1697)) tmp1699) 
((lambda (_1705) (syntax-violation (quote case) "bad clause" x1671 clause1681)) 
tmp1698))) ($sc-dispatch tmp1698 (quote (each-any any . each-any))))) 
clause1681)) tmp1696)) (f1680 (car clauses1682) (cdr clauses1682))))))) (f1680 
m11676 m21677)))) tmp1673) (syntax-violation #f "source expression failed to 
match any pattern" tmp1672))) ($sc-dispatch tmp1672 (quote (any any any . 
each-any))))) x1671))))
+(define identifier-syntax (make-syncase-macro (quote macro) (lambda (x1706) 
((lambda (tmp1707) ((lambda (tmp1708) (if tmp1708 (apply (lambda (_1709 e1710) 
(list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) 
(list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
(quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (quote (#(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 
(quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
e1710)) (list (cons _1709 (quote (#(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 (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e1710 (quote (#(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)))))))))) tmp1708) (syntax-violation #f "source expression failed to 
match any pattern" tmp1707))) ($sc-dispatch tmp1707 (quote (any any))))) 
x1706))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 735f564..c2668c0 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -191,19 +191,6 @@
 ;;; The implementation of generate-temporaries assumes that it is possible
 ;;; to generate globally unique symbols (gensyms).
 
-;;; The input to sc-expand may contain "annotations" describing, e.g., the
-;;; source file and character position from where each object was read if
-;;; it was read from a file.  These annotations are handled properly by
-;;; sc-expand only if the annotation? hook (see hooks below) is implemented
-;;; properly and the operators make-annotation, annotation-expression,
-;;; annotation-source, annotation-stripped, and set-annotation-stripped!
-;;; are supplied.  If annotations are supplied, the proper annotation
-;;; source is passed to the various output constructors, allowing
-;;; implementations to accurately correlate source and expanded code.
-;;; Contact one of the authors for details if you wish to make use of
-;;; this feature.
-
-
 
 ;;; Bootstrapping:
 
@@ -532,22 +519,18 @@
 
 (define-structure (syntax-object expression wrap module))
 
-(define-syntax unannotate
-  (syntax-rules ()
-    ((_ x)
-     (let ((e x))
-       (if (annotation? e)
-           (annotation-expression e)
-           e)))))
-
 (define-syntax no-source (identifier-syntax #f))
 
 (define source-annotation
   (lambda (x)
      (cond
-       ((annotation? x) (annotation-source x))
-       ((syntax-object? x) (source-annotation (syntax-object-expression x)))
-       (else no-source))))
+      ((syntax-object? x)
+       (source-annotation (syntax-object-expression x)))
+      ((pair? x) (let ((props (source-properties x)))
+                   (if (pair? props)
+                       props
+                       #f)))
+      (else #f))))
 
 (define-syntax arg-check
   (syntax-rules ()
@@ -674,29 +657,30 @@
 (define nonsymbol-id?
   (lambda (x)
     (and (syntax-object? x)
-         (symbol? (unannotate (syntax-object-expression x))))))
+         (symbol? (syntax-object-expression x)))))
 
 (define id?
   (lambda (x)
     (cond
       ((symbol? x) #t)
-      ((syntax-object? x) (symbol? (unannotate (syntax-object-expression x))))
-      ((annotation? x) (symbol? (annotation-expression x)))
+      ((syntax-object? x) (symbol? (syntax-object-expression x)))
       (else #f))))
 
 (define-syntax id-sym-name
   (syntax-rules ()
     ((_ e)
      (let ((x e))
-       (unannotate (if (syntax-object? x) (syntax-object-expression x) x))))))
+       (if (syntax-object? x)
+           (syntax-object-expression x)
+           x)))))
 
 (define id-sym-name&marks
   (lambda (x w)
     (if (syntax-object? x)
         (values
-          (unannotate (syntax-object-expression x))
-          (join-marks (wrap-marks w) (wrap-marks (syntax-object-wrap x))))
-        (values (unannotate x) (wrap-marks w)))))
+         (syntax-object-expression x)
+         (join-marks (wrap-marks w) (wrap-marks (syntax-object-wrap x))))
+        (values x (wrap-marks w)))))
 
 ;;; syntax object wraps
 
@@ -762,7 +746,7 @@
   ; must receive ids with complete wraps
   (lambda (ribcage id label)
     (set-ribcage-symnames! ribcage
-      (cons (unannotate (syntax-object-expression id))
+      (cons (syntax-object-expression id)
             (ribcage-symnames ribcage)))
     (set-ribcage-marks! ribcage
       (cons (wrap-marks (syntax-object-wrap id))
@@ -862,7 +846,7 @@
       ((symbol? id)
        (or (first (search id (wrap-subst w) (wrap-marks w))) id))
       ((syntax-object? id)
-        (let ((id (unannotate (syntax-object-expression id)))
+        (let ((id (syntax-object-expression id))
               (w1 (syntax-object-wrap id)))
           (let ((marks (join-marks (wrap-marks w) (wrap-marks w1))))
             (call-with-values (lambda () (search id (wrap-subst w) marks))
@@ -870,9 +854,6 @@
                 (or new-id
                     (first (search id (wrap-subst w1) marks))
                     id))))))
-      ((annotation? id)
-       (let ((id (unannotate id)))
-         (or (first (search id (wrap-subst w) (wrap-marks w))) id)))
       (else (syntax-violation 'id-var-name "invalid id" id)))))
 
 ;;; free-id=? must be passed fully wrapped ids since (free-id=? x y)
@@ -890,11 +871,11 @@
 (define bound-id=?
   (lambda (i j)
     (if (and (syntax-object? i) (syntax-object? j))
-        (and (eq? (unannotate (syntax-object-expression i))
-                  (unannotate (syntax-object-expression j)))
+        (and (eq? (syntax-object-expression i)
+                  (syntax-object-expression j))
              (same-marks? (wrap-marks (syntax-object-wrap i))
                   (wrap-marks (syntax-object-wrap j))))
-        (eq? (unannotate i) (unannotate j)))))
+        (eq? i j))))
 
 ;;; "valid-bound-ids?" returns #t if it receives a list of distinct ids.
 ;;; valid-bound-ids? may be passed unwrapped (or partially wrapped) ids
@@ -944,7 +925,9 @@
 
 (define source-wrap
   (lambda (x w s defmod)
-    (wrap (if s (make-annotation x s #f) x) w defmod)))
+    (if (and s (pair? x))
+        (set-source-properties! x s))
+    (wrap x w defmod)))
 
 ;;; expanding
 
@@ -1112,13 +1095,10 @@
                   (values 'call #f e w s mod))))
              (values 'call #f e w s mod))))
       ((syntax-object? e)
-       ;; s can't be valid source if we've unwrapped
        (syntax-type (syntax-object-expression e)
                     r
                     (join-wraps w (syntax-object-wrap e))
-                    no-source rib (or (syntax-object-module e) mod)))
-      ((annotation? e)
-       (syntax-type (annotation-expression e) r w (annotation-source e) rib 
mod))
+                    s rib (or (syntax-object-module e) mod)))
       ((self-evaluating? e) (values 'constant #f e w s mod))
       (else (values 'other #f e w s mod)))))
 
@@ -1131,7 +1111,7 @@
            (if (eq? m 'c&e) (top-level-eval-hook x mod))
            x))))
     (call-with-values
-      (lambda () (syntax-type e r w no-source #f mod))
+      (lambda () (syntax-type e r w (source-annotation e) #f mod))
       (lambda (type value e w s mod)
         (case type
           ((begin-form)
@@ -1207,7 +1187,7 @@
 (define chi
   (lambda (e r w mod)
     (call-with-values
-      (lambda () (syntax-type e r w no-source #f mod))
+      (lambda () (syntax-type e r w (source-annotation e) #f mod))
       (lambda (type value e w s mod)
         (chi-expr type value e r w s mod)))))
 
@@ -1362,7 +1342,7 @@
             (syntax-violation #f "no expressions in body" outer-form)
             (let ((e (cdar body)) (er (caar body)))
               (call-with-values
-                (lambda () (syntax-type e er empty-wrap no-source ribcage mod))
+                (lambda () (syntax-type e er empty-wrap (source-annotation er) 
ribcage mod))
                 (lambda (type value e w s mod)
                   (case type
                     ((define-form)
@@ -1527,32 +1507,8 @@
 
 ;;; data
 
-;;; strips all annotations from potentially circular reader output
-
-(define strip-annotation
-  (lambda (x parent)
-    (cond
-      ((pair? x)
-       (let ((new (cons #f #f)))
-         (if parent (set-annotation-stripped! parent new))
-         (set-car! new (strip-annotation (car x) #f))
-         (set-cdr! new (strip-annotation (cdr x) #f))
-         new))
-      ((annotation? x)
-       (or (annotation-stripped x)
-           (strip-annotation (annotation-expression x) x)))
-      ((vector? x)
-       (let ((new (make-vector (vector-length x))))
-         (if parent (set-annotation-stripped! parent new))
-         (let loop ((i (- (vector-length x) 1)))
-           (unless (fx< i 0)
-             (vector-set! new i (strip-annotation (vector-ref x i) #f))
-             (loop (fx- i 1))))
-         new))
-      (else x))))
-
-;;; strips syntax-objects down to top-wrap; if top-wrap is layered directly
-;;; on an annotation, strips the annotation as well.
+;;; strips syntax-objects down to top-wrap
+;;;
 ;;; since only the head of a list is annotated by the reader, not each pair
 ;;; in the spine, we also check for pairs whose cars are annotated in case
 ;;; we've been passed the cdr of an annotated list
@@ -1560,32 +1516,28 @@
 (define strip
   (lambda (x w)
     (if (top-marked? w)
-        (if (or (annotation? x) (and (pair? x) (annotation? (car x))))
-            (strip-annotation x #f)
-            x)
+        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)))
-                (let ((new (map f old)))
-                   (if (and-map* eq? old new) x (list->vector new)))))
-            (else x))))))
+           ((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)))
+              (let ((new (map f old)))
+                (if (and-map* eq? old new) x (list->vector new)))))
+           (else x))))))
 
 ;;; lexical variables
 
 (define gen-var
   (lambda (id)
     (let ((id (if (syntax-object? id) (syntax-object-expression id) id)))
-      (if (annotation? id)
-          (build-lexical-var (annotation-source id) (annotation-expression id))
-          (build-lexical-var no-source id)))))
+      (build-lexical-var no-source id))))
 
 (define lambda-var-list
   (lambda (vars)
@@ -1598,8 +1550,6 @@
           (lvl (syntax-object-expression vars)
                ls
                (join-wraps w (syntax-object-wrap vars))))
-         ((annotation? vars)
-          (lvl (annotation-expression vars) ls w))
        ; include anything else to be caught by subsequent error
        ; checking
          (else (cons vars ls))))))
@@ -1793,12 +1743,6 @@
           ((primitive) (build-primref no-source (cadr x)))
           ((quote) (build-data no-source (cadr x)))
           ((lambda) (build-lambda no-source (cadr x) (cadr x) #f (regen (caddr 
x))))
-          ((map) (let ((ls (map regen (cdr x))))
-                   (build-application no-source
-                     ;; this check used to be here, not sure what for:
-                     ;; (if (fx= (length ls) 2)
-                     (build-primref no-source 'map)
-                     ls)))
           (else (build-application no-source
                   (build-primref no-source (car x))
                   (map regen (cdr x)))))))
@@ -2193,35 +2137,31 @@
 (define match-each
   (lambda (e p w mod)
     (cond
-      ((annotation? e)
-       (match-each (annotation-expression e) p w mod))
-      ((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))))
+     ((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))))
 
 (define match-each-any
   (lambda (e w mod)
     (cond
-      ((annotation? e)
-       (match-each-any (annotation-expression e) w mod))
-      ((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))))
+     ((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))))
 
 (define match-empty
   (lambda (p r)
@@ -2270,21 +2210,21 @@
       ((eq? p 'any) (cons (wrap e w mod) r))
       ((syntax-object? e)
        (match*
-         (unannotate (syntax-object-expression e))
-         p
-         (join-wraps w (syntax-object-wrap e))
-         r
-         (syntax-object-module e)))
-      (else (match* (unannotate e) p w r mod)))))
+        (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))
       ((syntax-object? e)
-       (match* (unannotate (syntax-object-expression e))
-         p (syntax-object-wrap e) '() (syntax-object-module e)))
-      (else (match* (unannotate e) p empty-wrap '() #f)))))
+       (match* (syntax-object-expression e)
+               p (syntax-object-wrap e) '() (syntax-object-module e)))
+      (else (match* e p empty-wrap '() #f)))))
 
 ))
 )
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index fd2d600..6e3b150 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -1128,7 +1128,7 @@
 ;; lookup. Also, @slot-ref and @slot-set! have their own bytecodes.
 
 (eval-when (compile)
-  (use-modules ((language tree-il optimize) :select 
(add-interesting-primitive!)))
+  (use-modules ((language tree-il primitives) :select 
(add-interesting-primitive!)))
   (add-interesting-primitive! '@slot-ref)
   (add-interesting-primitive! '@slot-set!))
 


hooks/post-receive
-- 
GNU Guile




reply via email to

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