pretty-print psyntax-pp.scm
authorAndy Wingo <wingo@pobox.com>
Mon, 8 Jun 2009 20:24:15 +0000 (22:24 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 8 Jun 2009 20:44:01 +0000 (22:44 +0200)
* module/ice-9/compile-psyntax.scm: Pretty-print psyntax-pp.scm, given
  that we are going to compile it anyway.

* module/ice-9/psyntax-pp.scm: Regenerated.

module/ice-9/compile-psyntax.scm
module/ice-9/psyntax-pp.scm

index 2b8eec0..8b53267 100644 (file)
@@ -1,4 +1,4 @@
-(use-modules (language tree-il))
+(use-modules (language tree-il) (ice-9 pretty-print))
 (let ((source (list-ref (command-line) 1))
       (target (list-ref (command-line) 2)))
   (let ((in (open-input-file source))
@@ -12,9 +12,9 @@
             (close-port out)
             (close-port in))
           (begin
-            (write (tree-il->scheme
-                    (sc-expand x 'c '(compile load eval)))
-                   out)
+            (pretty-print (tree-il->scheme
+                           (sc-expand x 'c '(compile load eval)))
+                          out)
             (newline out)
             (loop (read in))))))
   (system (format #f "mv -f ~s.tmp ~s" target target)))
dissimilarity index 96%
index 3a4dfde..a6e35b0 100644 (file)
-(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
-(if #f #f)
-(letrec ((and-map*1328 (lambda (f1368 first1367 . rest1366) (let ((t1369 (null? first1367))) (if t1369 t1369 (if (null? rest1366) (letrec ((andmap1370 (lambda (first1371) (let ((x1372 (car first1371)) (first1373 (cdr first1371))) (if (null? first1373) (f1368 x1372) (if (f1368 x1372) (andmap1370 first1373) #f)))))) (andmap1370 first1367)) (letrec ((andmap1374 (lambda (first1375 rest1376) (let ((x1377 (car first1375)) (xr1378 (map car rest1376)) (first1379 (cdr first1375)) (rest1380 (map cdr rest1376))) (if (null? first1379) (apply f1368 (cons x1377 xr1378)) (if (apply f1368 (cons x1377 xr1378)) (andmap1374 first1379 rest1380) #f)))))) (andmap1374 first1367 rest1366)))))))) (letrec ((lambda-var-list1473 (lambda (vars1597) (letrec ((lvl1598 (lambda (vars1599 ls1600 w1601) (if (pair? vars1599) (lvl1598 (cdr vars1599) (cons (wrap1453 (car vars1599) w1601 #f) ls1600) w1601) (if (id?1425 vars1599) (cons (wrap1453 vars1599 w1601 #f) ls1600) (if (null? vars1599) ls1600 (if (syntax-object?1409 vars1599) (lvl1598 (syntax-object-expression1410 vars1599) ls1600 (join-wraps1444 w1601 (syntax-object-wrap1411 vars1599))) (cons vars1599 ls1600)))))))) (lvl1598 vars1597 (quote ()) (quote (())))))) (gen-var1472 (lambda (id1602) (let ((id1603 (if (syntax-object?1409 id1602) (syntax-object-expression1410 id1602) id1602))) (gensym (symbol->string id1603))))) (strip1471 (lambda (x1604 w1605) (if (memq (quote top) (wrap-marks1428 w1605)) x1604 (letrec ((f1606 (lambda (x1607) (if (syntax-object?1409 x1607) (strip1471 (syntax-object-expression1410 x1607) (syntax-object-wrap1411 x1607)) (if (pair? x1607) (let ((a1608 (f1606 (car x1607))) (d1609 (f1606 (cdr x1607)))) (if (if (eq? a1608 (car x1607)) (eq? d1609 (cdr x1607)) #f) x1607 (cons a1608 d1609))) (if (vector? x1607) (let ((old1610 (vector->list x1607))) (let ((new1611 (map f1606 old1610))) (if (and-map*1328 eq? old1610 new1611) x1607 (list->vector new1611)))) x1607)))))) (f1606 x1604))))) (ellipsis?1470 (lambda (x1612) (if (nonsymbol-id?1424 x1612) (free-id=?1448 x1612 (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-void1469 (lambda () (build-void1391 #f))) (eval-local-transformer1468 (lambda (expanded1613 mod1614) (let ((p1615 (local-eval-hook1388 expanded1613 mod1614))) (if (procedure? p1615) p1615 (syntax-violation #f "nonprocedure transformer" p1615))))) (chi-local-syntax1467 (lambda (rec?1616 e1617 r1618 w1619 s1620 mod1621 k1622) ((lambda (tmp1623) ((lambda (tmp1624) (if tmp1624 (apply (lambda (_1625 id1626 val1627 e11628 e21629) (let ((ids1630 id1626)) (if (not (valid-bound-ids?1450 ids1630)) (syntax-violation #f "duplicate bound keyword" e1617) (let ((labels1632 (gen-labels1431 ids1630))) (let ((new-w1633 (make-binding-wrap1442 ids1630 labels1632 w1619))) (k1622 (cons e11628 e21629) (extend-env1419 labels1632 (let ((w1635 (if rec?1616 new-w1633 w1619)) (trans-r1636 (macros-only-env1421 r1618))) (map (lambda (x1637) (cons (quote macro) (eval-local-transformer1468 (chi1461 x1637 trans-r1636 w1635 mod1621) mod1621))) val1627)) r1618) new-w1633 s1620 mod1621)))))) tmp1624) ((lambda (_1639) (syntax-violation #f "bad local syntax definition" (source-wrap1454 e1617 w1619 s1620 mod1621))) tmp1623))) ($sc-dispatch tmp1623 (quote (any #(each (any any)) any . each-any))))) e1617))) (chi-lambda-clause1466 (lambda (e1640 docstring1641 c1642 r1643 w1644 mod1645 k1646) ((lambda (tmp1647) ((lambda (tmp1648) (if (if tmp1648 (apply (lambda (args1649 doc1650 e11651 e21652) (if (string? (syntax->datum doc1650)) (not docstring1641) #f)) tmp1648) #f) (apply (lambda (args1653 doc1654 e11655 e21656) (chi-lambda-clause1466 e1640 doc1654 (cons args1653 (cons e11655 e21656)) r1643 w1644 mod1645 k1646)) tmp1648) ((lambda (tmp1658) (if tmp1658 (apply (lambda (id1659 e11660 e21661) (let ((ids1662 id1659)) (if (not (valid-bound-ids?1450 ids1662)) (syntax-violation (quote lambda) "invalid parameter list" e1640) (let ((labels1664 (gen-labels1431 ids1662)) (new-vars1665 (map gen-var1472 ids1662))) (k1646 (map syntax->datum ids1662) new-vars1665 (if docstring1641 (syntax->datum docstring1641) #f) (chi-body1465 (cons e11660 e21661) e1640 (extend-var-env1420 labels1664 new-vars1665 r1643) (make-binding-wrap1442 ids1662 labels1664 w1644) mod1645)))))) tmp1658) ((lambda (tmp1667) (if tmp1667 (apply (lambda (ids1668 e11669 e21670) (let ((old-ids1671 (lambda-var-list1473 ids1668))) (if (not (valid-bound-ids?1450 old-ids1671)) (syntax-violation (quote lambda) "invalid parameter list" e1640) (let ((labels1672 (gen-labels1431 old-ids1671)) (new-vars1673 (map gen-var1472 old-ids1671))) (k1646 (letrec ((f1674 (lambda (ls11675 ls21676) (if (null? ls11675) (syntax->datum ls21676) (f1674 (cdr ls11675) (cons (syntax->datum (car ls11675)) ls21676)))))) (f1674 (cdr old-ids1671) (car old-ids1671))) (letrec ((f1677 (lambda (ls11678 ls21679) (if (null? ls11678) ls21679 (f1677 (cdr ls11678) (cons (car ls11678) ls21679)))))) (f1677 (cdr new-vars1673) (car new-vars1673))) (if docstring1641 (syntax->datum docstring1641) #f) (chi-body1465 (cons e11669 e21670) e1640 (extend-var-env1420 labels1672 new-vars1673 r1643) (make-binding-wrap1442 old-ids1671 labels1672 w1644) mod1645)))))) tmp1667) ((lambda (_1681) (syntax-violation (quote lambda) "bad lambda" e1640)) tmp1647))) ($sc-dispatch tmp1647 (quote (any any . each-any)))))) ($sc-dispatch tmp1647 (quote (each-any any . each-any)))))) ($sc-dispatch tmp1647 (quote (any any any . each-any))))) c1642))) (chi-body1465 (lambda (body1682 outer-form1683 r1684 w1685 mod1686) (let ((r1687 (cons (quote ("placeholder" placeholder)) r1684))) (let ((ribcage1688 (make-ribcage1432 (quote ()) (quote ()) (quote ())))) (let ((w1689 (make-wrap1427 (wrap-marks1428 w1685) (cons ribcage1688 (wrap-subst1429 w1685))))) (letrec ((parse1690 (lambda (body1691 ids1692 labels1693 var-ids1694 vars1695 vals1696 bindings1697) (if (null? body1691) (syntax-violation #f "no expressions in body" outer-form1683) (let ((e1699 (cdar body1691)) (er1700 (caar body1691))) (call-with-values (lambda () (syntax-type1459 e1699 er1700 (quote (())) (source-annotation1416 er1700) ribcage1688 mod1686 #f)) (lambda (type1701 value1702 e1703 w1704 s1705 mod1706) (if (memv type1701 (quote (define-form))) (let ((id1707 (wrap1453 value1702 w1704 mod1706)) (label1708 (gen-label1430))) (let ((var1709 (gen-var1472 id1707))) (begin (extend-ribcage!1441 ribcage1688 id1707 label1708) (parse1690 (cdr body1691) (cons id1707 ids1692) (cons label1708 labels1693) (cons id1707 var-ids1694) (cons var1709 vars1695) (cons (cons er1700 (wrap1453 e1703 w1704 mod1706)) vals1696) (cons (cons (quote lexical) var1709) bindings1697))))) (if (memv type1701 (quote (define-syntax-form))) (let ((id1710 (wrap1453 value1702 w1704 mod1706)) (label1711 (gen-label1430))) (begin (extend-ribcage!1441 ribcage1688 id1710 label1711) (parse1690 (cdr body1691) (cons id1710 ids1692) (cons label1711 labels1693) var-ids1694 vars1695 vals1696 (cons (cons (quote macro) (cons er1700 (wrap1453 e1703 w1704 mod1706))) bindings1697)))) (if (memv type1701 (quote (begin-form))) ((lambda (tmp1712) ((lambda (tmp1713) (if tmp1713 (apply (lambda (_1714 e11715) (parse1690 (letrec ((f1716 (lambda (forms1717) (if (null? forms1717) (cdr body1691) (cons (cons er1700 (wrap1453 (car forms1717) w1704 mod1706)) (f1716 (cdr forms1717))))))) (f1716 e11715)) ids1692 labels1693 var-ids1694 vars1695 vals1696 bindings1697)) tmp1713) (syntax-violation #f "source expression failed to match any pattern" tmp1712))) ($sc-dispatch tmp1712 (quote (any . each-any))))) e1703) (if (memv type1701 (quote (local-syntax-form))) (chi-local-syntax1467 value1702 e1703 er1700 w1704 s1705 mod1706 (lambda (forms1719 er1720 w1721 s1722 mod1723) (parse1690 (letrec ((f1724 (lambda (forms1725) (if (null? forms1725) (cdr body1691) (cons (cons er1720 (wrap1453 (car forms1725) w1721 mod1723)) (f1724 (cdr forms1725))))))) (f1724 forms1719)) ids1692 labels1693 var-ids1694 vars1695 vals1696 bindings1697))) (if (null? ids1692) (build-sequence1404 #f (map (lambda (x1726) (chi1461 (cdr x1726) (car x1726) (quote (())) mod1706)) (cons (cons er1700 (source-wrap1454 e1703 w1704 s1705 mod1706)) (cdr body1691)))) (begin (if (not (valid-bound-ids?1450 ids1692)) (syntax-violation #f "invalid or duplicate identifier in definition" outer-form1683)) (letrec ((loop1727 (lambda (bs1728 er-cache1729 r-cache1730) (if (not (null? bs1728)) (let ((b1731 (car bs1728))) (if (eq? (car b1731) (quote macro)) (let ((er1732 (cadr b1731))) (let ((r-cache1733 (if (eq? er1732 er-cache1729) r-cache1730 (macros-only-env1421 er1732)))) (begin (set-cdr! b1731 (eval-local-transformer1468 (chi1461 (cddr b1731) r-cache1733 (quote (())) mod1706) mod1706)) (loop1727 (cdr bs1728) er1732 r-cache1733)))) (loop1727 (cdr bs1728) er-cache1729 r-cache1730))))))) (loop1727 bindings1697 #f #f)) (set-cdr! r1687 (extend-env1419 labels1693 bindings1697 (cdr r1687))) (build-letrec1407 #f (map syntax->datum var-ids1694) vars1695 (map (lambda (x1734) (chi1461 (cdr x1734) (car x1734) (quote (())) mod1706)) vals1696) (build-sequence1404 #f (map (lambda (x1735) (chi1461 (cdr x1735) (car x1735) (quote (())) mod1706)) (cons (cons er1700 (source-wrap1454 e1703 w1704 s1705 mod1706)) (cdr body1691)))))))))))))))))) (parse1690 (map (lambda (x1698) (cons r1687 (wrap1453 x1698 w1689 mod1686))) body1682) (quote ()) (quote ()) (quote ()) (quote ()) (quote ()) (quote ())))))))) (chi-macro1464 (lambda (p1736 e1737 r1738 w1739 rib1740 mod1741) (letrec ((rebuild-macro-output1742 (lambda (x1743 m1744) (if (pair? x1743) (cons (rebuild-macro-output1742 (car x1743) m1744) (rebuild-macro-output1742 (cdr x1743) m1744)) (if (syntax-object?1409 x1743) (let ((w1745 (syntax-object-wrap1411 x1743))) (let ((ms1746 (wrap-marks1428 w1745)) (s1747 (wrap-subst1429 w1745))) (if (if (pair? ms1746) (eq? (car ms1746) #f) #f) (make-syntax-object1408 (syntax-object-expression1410 x1743) (make-wrap1427 (cdr ms1746) (if rib1740 (cons rib1740 (cdr s1747)) (cdr s1747))) (syntax-object-module1412 x1743)) (make-syntax-object1408 (syntax-object-expression1410 x1743) (make-wrap1427 (cons m1744 ms1746) (if rib1740 (cons rib1740 (cons (quote shift) s1747)) (cons (quote shift) s1747))) (let ((pmod1748 (procedure-module p1736))) (if pmod1748 (cons (quote hygiene) (module-name pmod1748)) (quote (hygiene guile)))))))) (if (vector? x1743) (let ((n1749 (vector-length x1743))) (let ((v1750 (make-vector n1749))) (letrec ((loop1751 (lambda (i1752) (if (fx=1385 i1752 n1749) (begin (if #f #f) v1750) (begin (vector-set! v1750 i1752 (rebuild-macro-output1742 (vector-ref x1743 i1752) m1744)) (loop1751 (fx+1383 i1752 1))))))) (loop1751 0)))) (if (symbol? x1743) (syntax-violation #f "encountered raw symbol in macro output" (source-wrap1454 e1737 w1739 s mod1741) x1743) x1743))))))) (rebuild-macro-output1742 (p1736 (wrap1453 e1737 (anti-mark1440 w1739) mod1741)) (string #\m))))) (chi-application1463 (lambda (x1753 e1754 r1755 w1756 s1757 mod1758) ((lambda (tmp1759) ((lambda (tmp1760) (if tmp1760 (apply (lambda (e01761 e11762) (build-application1392 s1757 x1753 (map (lambda (e1763) (chi1461 e1763 r1755 w1756 mod1758)) e11762))) tmp1760) (syntax-violation #f "source expression failed to match any pattern" tmp1759))) ($sc-dispatch tmp1759 (quote (any . each-any))))) e1754))) (chi-expr1462 (lambda (type1765 value1766 e1767 r1768 w1769 s1770 mod1771) (if (memv type1765 (quote (lexical))) (build-lexical-reference1394 (quote value) s1770 e1767 value1766) (if (memv type1765 (quote (core core-form))) (value1766 e1767 r1768 w1769 s1770 mod1771) (if (memv type1765 (quote (module-ref))) (call-with-values (lambda () (value1766 e1767)) (lambda (id1772 mod1773) (build-global-reference1397 s1770 id1772 mod1773))) (if (memv type1765 (quote (lexical-call))) (chi-application1463 (build-lexical-reference1394 (quote fun) (source-annotation1416 (car e1767)) (car e1767) value1766) e1767 r1768 w1769 s1770 mod1771) (if (memv type1765 (quote (global-call))) (chi-application1463 (build-global-reference1397 (source-annotation1416 (car e1767)) (if (syntax-object?1409 value1766) (syntax-object-expression1410 value1766) value1766) (if (syntax-object?1409 value1766) (syntax-object-module1412 value1766) mod1771)) e1767 r1768 w1769 s1770 mod1771) (if (memv type1765 (quote (constant))) (build-data1403 s1770 (strip1471 (source-wrap1454 e1767 w1769 s1770 mod1771) (quote (())))) (if (memv type1765 (quote (global))) (build-global-reference1397 s1770 value1766 mod1771) (if (memv type1765 (quote (call))) (chi-application1463 (chi1461 (car e1767) r1768 w1769 mod1771) e1767 r1768 w1769 s1770 mod1771) (if (memv type1765 (quote (begin-form))) ((lambda (tmp1774) ((lambda (tmp1775) (if tmp1775 (apply (lambda (_1776 e11777 e21778) (chi-sequence1455 (cons e11777 e21778) r1768 w1769 s1770 mod1771)) tmp1775) (syntax-violation #f "source expression failed to match any pattern" tmp1774))) ($sc-dispatch tmp1774 (quote (any any . each-any))))) e1767) (if (memv type1765 (quote (local-syntax-form))) (chi-local-syntax1467 value1766 e1767 r1768 w1769 s1770 mod1771 chi-sequence1455) (if (memv type1765 (quote (eval-when-form))) ((lambda (tmp1780) ((lambda (tmp1781) (if tmp1781 (apply (lambda (_1782 x1783 e11784 e21785) (let ((when-list1786 (chi-when-list1458 e1767 x1783 w1769))) (if (memq (quote eval) when-list1786) (chi-sequence1455 (cons e11784 e21785) r1768 w1769 s1770 mod1771) (chi-void1469)))) tmp1781) (syntax-violation #f "source expression failed to match any pattern" tmp1780))) ($sc-dispatch tmp1780 (quote (any each-any any . each-any))))) e1767) (if (memv type1765 (quote (define-form define-syntax-form))) (syntax-violation #f "definition in expression context" e1767 (wrap1453 value1766 w1769 mod1771)) (if (memv type1765 (quote (syntax))) (syntax-violation #f "reference to pattern variable outside syntax form" (source-wrap1454 e1767 w1769 s1770 mod1771)) (if (memv type1765 (quote (displaced-lexical))) (syntax-violation #f "reference to identifier outside its scope" (source-wrap1454 e1767 w1769 s1770 mod1771)) (syntax-violation #f "unexpected syntax" (source-wrap1454 e1767 w1769 s1770 mod1771)))))))))))))))))) (chi1461 (lambda (e1789 r1790 w1791 mod1792) (call-with-values (lambda () (syntax-type1459 e1789 r1790 w1791 (source-annotation1416 e1789) #f mod1792 #f)) (lambda (type1793 value1794 e1795 w1796 s1797 mod1798) (chi-expr1462 type1793 value1794 e1795 r1790 w1796 s1797 mod1798))))) (chi-top1460 (lambda (e1799 r1800 w1801 m1802 esew1803 mod1804) (call-with-values (lambda () (syntax-type1459 e1799 r1800 w1801 (source-annotation1416 e1799) #f mod1804 #f)) (lambda (type1812 value1813 e1814 w1815 s1816 mod1817) (if (memv type1812 (quote (begin-form))) ((lambda (tmp1818) ((lambda (tmp1819) (if tmp1819 (apply (lambda (_1820) (chi-void1469)) tmp1819) ((lambda (tmp1821) (if tmp1821 (apply (lambda (_1822 e11823 e21824) (chi-top-sequence1456 (cons e11823 e21824) r1800 w1815 s1816 m1802 esew1803 mod1817)) tmp1821) (syntax-violation #f "source expression failed to match any pattern" tmp1818))) ($sc-dispatch tmp1818 (quote (any any . each-any)))))) ($sc-dispatch tmp1818 (quote (any))))) e1814) (if (memv type1812 (quote (local-syntax-form))) (chi-local-syntax1467 value1813 e1814 r1800 w1815 s1816 mod1817 (lambda (body1826 r1827 w1828 s1829 mod1830) (chi-top-sequence1456 body1826 r1827 w1828 s1829 m1802 esew1803 mod1830))) (if (memv type1812 (quote (eval-when-form))) ((lambda (tmp1831) ((lambda (tmp1832) (if tmp1832 (apply (lambda (_1833 x1834 e11835 e21836) (let ((when-list1837 (chi-when-list1458 e1814 x1834 w1815)) (body1838 (cons e11835 e21836))) (if (eq? m1802 (quote e)) (if (memq (quote eval) when-list1837) (chi-top-sequence1456 body1838 r1800 w1815 s1816 (quote e) (quote (eval)) mod1817) (chi-void1469)) (if (memq (quote load) when-list1837) (if (let ((t1841 (memq (quote compile) when-list1837))) (if t1841 t1841 (if (eq? m1802 (quote c&e)) (memq (quote eval) when-list1837) #f))) (chi-top-sequence1456 body1838 r1800 w1815 s1816 (quote c&e) (quote (compile load)) mod1817) (if (memq m1802 (quote (c c&e))) (chi-top-sequence1456 body1838 r1800 w1815 s1816 (quote c) (quote (load)) mod1817) (chi-void1469))) (if (let ((t1842 (memq (quote compile) when-list1837))) (if t1842 t1842 (if (eq? m1802 (quote c&e)) (memq (quote eval) when-list1837) #f))) (begin (top-level-eval-hook1387 (chi-top-sequence1456 body1838 r1800 w1815 s1816 (quote e) (quote (eval)) mod1817) mod1817) (chi-void1469)) (chi-void1469)))))) tmp1832) (syntax-violation #f "source expression failed to match any pattern" tmp1831))) ($sc-dispatch tmp1831 (quote (any each-any any . each-any))))) e1814) (if (memv type1812 (quote (define-syntax-form))) (let ((n1843 (id-var-name1447 value1813 w1815)) (r1844 (macros-only-env1421 r1800))) (if (memv m1802 (quote (c))) (if (memq (quote compile) esew1803) (let ((e1845 (chi-install-global1457 n1843 (chi1461 e1814 r1844 w1815 mod1817)))) (begin (top-level-eval-hook1387 e1845 mod1817) (if (memq (quote load) esew1803) e1845 (chi-void1469)))) (if (memq (quote load) esew1803) (chi-install-global1457 n1843 (chi1461 e1814 r1844 w1815 mod1817)) (chi-void1469))) (if (memv m1802 (quote (c&e))) (let ((e1846 (chi-install-global1457 n1843 (chi1461 e1814 r1844 w1815 mod1817)))) (begin (top-level-eval-hook1387 e1846 mod1817) e1846)) (begin (if (memq (quote eval) esew1803) (top-level-eval-hook1387 (chi-install-global1457 n1843 (chi1461 e1814 r1844 w1815 mod1817)) mod1817)) (chi-void1469))))) (if (memv type1812 (quote (define-form))) (let ((n1847 (id-var-name1447 value1813 w1815))) (let ((type1848 (binding-type1417 (lookup1422 n1847 r1800 mod1817)))) (if (memv type1848 (quote (global core macro module-ref))) (begin (if (if (not (module-local-variable (current-module) n1847)) (current-module) #f) (module-define! (current-module) n1847 #f)) (let ((x1849 (build-global-definition1400 s1816 n1847 (chi1461 e1814 r1800 w1815 mod1817)))) (begin (if (eq? m1802 (quote c&e)) (top-level-eval-hook1387 x1849 mod1817)) x1849))) (if (memv type1848 (quote (displaced-lexical))) (syntax-violation #f "identifier out of context" e1814 (wrap1453 value1813 w1815 mod1817)) (syntax-violation #f "cannot define keyword at top level" e1814 (wrap1453 value1813 w1815 mod1817)))))) (let ((x1850 (chi-expr1462 type1812 value1813 e1814 r1800 w1815 s1816 mod1817))) (begin (if (eq? m1802 (quote c&e)) (top-level-eval-hook1387 x1850 mod1817)) x1850))))))))))) (syntax-type1459 (lambda (e1851 r1852 w1853 s1854 rib1855 mod1856 for-car?1857) (if (symbol? e1851) (let ((n1858 (id-var-name1447 e1851 w1853))) (let ((b1859 (lookup1422 n1858 r1852 mod1856))) (let ((type1860 (binding-type1417 b1859))) (if (memv type1860 (quote (lexical))) (values type1860 (binding-value1418 b1859) e1851 w1853 s1854 mod1856) (if (memv type1860 (quote (global))) (values type1860 n1858 e1851 w1853 s1854 mod1856) (if (memv type1860 (quote (macro))) (if for-car?1857 (values type1860 (binding-value1418 b1859) e1851 w1853 s1854 mod1856) (syntax-type1459 (chi-macro1464 (binding-value1418 b1859) e1851 r1852 w1853 rib1855 mod1856) r1852 (quote (())) s1854 rib1855 mod1856 #f)) (values type1860 (binding-value1418 b1859) e1851 w1853 s1854 mod1856))))))) (if (pair? e1851) (let ((first1861 (car e1851))) (call-with-values (lambda () (syntax-type1459 first1861 r1852 w1853 s1854 rib1855 mod1856 #t)) (lambda (ftype1862 fval1863 fe1864 fw1865 fs1866 fmod1867) (if (memv ftype1862 (quote (lexical))) (values (quote lexical-call) fval1863 e1851 w1853 s1854 mod1856) (if (memv ftype1862 (quote (global))) (values (quote global-call) (make-syntax-object1408 fval1863 w1853 fmod1867) e1851 w1853 s1854 mod1856) (if (memv ftype1862 (quote (macro))) (syntax-type1459 (chi-macro1464 fval1863 e1851 r1852 w1853 rib1855 mod1856) r1852 (quote (())) s1854 rib1855 mod1856 for-car?1857) (if (memv ftype1862 (quote (module-ref))) (call-with-values (lambda () (fval1863 e1851)) (lambda (sym1868 mod1869) (syntax-type1459 sym1868 r1852 w1853 s1854 rib1855 mod1869 for-car?1857))) (if (memv ftype1862 (quote (core))) (values (quote core-form) fval1863 e1851 w1853 s1854 mod1856) (if (memv ftype1862 (quote (local-syntax))) (values (quote local-syntax-form) fval1863 e1851 w1853 s1854 mod1856) (if (memv ftype1862 (quote (begin))) (values (quote begin-form) #f e1851 w1853 s1854 mod1856) (if (memv ftype1862 (quote (eval-when))) (values (quote eval-when-form) #f e1851 w1853 s1854 mod1856) (if (memv ftype1862 (quote (define))) ((lambda (tmp1870) ((lambda (tmp1871) (if (if tmp1871 (apply (lambda (_1872 name1873 val1874) (id?1425 name1873)) tmp1871) #f) (apply (lambda (_1875 name1876 val1877) (values (quote define-form) name1876 val1877 w1853 s1854 mod1856)) tmp1871) ((lambda (tmp1878) (if (if tmp1878 (apply (lambda (_1879 name1880 args1881 e11882 e21883) (if (id?1425 name1880) (valid-bound-ids?1450 (lambda-var-list1473 args1881)) #f)) tmp1878) #f) (apply (lambda (_1884 name1885 args1886 e11887 e21888) (values (quote define-form) (wrap1453 name1885 w1853 mod1856) (cons (quote #(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 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))) (wrap1453 (cons args1886 (cons e11887 e21888)) w1853 mod1856)) (quote (())) s1854 mod1856)) tmp1878) ((lambda (tmp1890) (if (if tmp1890 (apply (lambda (_1891 name1892) (id?1425 name1892)) tmp1890) #f) (apply (lambda (_1893 name1894) (values (quote define-form) (wrap1453 name1894 w1853 mod1856) (quote (#(syntax-object if ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 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 #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 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 #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 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 (())) s1854 mod1856)) tmp1890) (syntax-violation #f "source expression failed to match any pattern" tmp1870))) ($sc-dispatch tmp1870 (quote (any any)))))) ($sc-dispatch tmp1870 (quote (any (any . any) any . each-any)))))) ($sc-dispatch tmp1870 (quote (any any any))))) e1851) (if (memv ftype1862 (quote (define-syntax))) ((lambda (tmp1895) ((lambda (tmp1896) (if (if tmp1896 (apply (lambda (_1897 name1898 val1899) (id?1425 name1898)) tmp1896) #f) (apply (lambda (_1900 name1901 val1902) (values (quote define-syntax-form) name1901 val1902 w1853 s1854 mod1856)) tmp1896) (syntax-violation #f "source expression failed to match any pattern" tmp1895))) ($sc-dispatch tmp1895 (quote (any any any))))) e1851) (values (quote call) #f e1851 w1853 s1854 mod1856)))))))))))))) (if (syntax-object?1409 e1851) (syntax-type1459 (syntax-object-expression1410 e1851) r1852 (join-wraps1444 w1853 (syntax-object-wrap1411 e1851)) s1854 rib1855 (let ((t1903 (syntax-object-module1412 e1851))) (if t1903 t1903 mod1856)) for-car?1857) (if (self-evaluating? e1851) (values (quote constant) #f e1851 w1853 s1854 mod1856) (values (quote other) #f e1851 w1853 s1854 mod1856))))))) (chi-when-list1458 (lambda (e1904 when-list1905 w1906) (letrec ((f1907 (lambda (when-list1908 situations1909) (if (null? when-list1908) situations1909 (f1907 (cdr when-list1908) (cons (let ((x1910 (car when-list1908))) (if (free-id=?1448 x1910 (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=?1448 x1910 (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=?1448 x1910 (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" e1904 (wrap1453 x1910 w1906 #f)))))) situations1909)))))) (f1907 when-list1905 (quote ()))))) (chi-install-global1457 (lambda (name1911 e1912) (build-global-definition1400 #f name1911 (if (let ((v1913 (module-variable (current-module) name1911))) (if v1913 (if (variable-bound? v1913) (if (macro? (variable-ref v1913)) (not (eq? (macro-type (variable-ref v1913)) (quote syncase-macro))) #f) #f) #f)) (build-application1392 #f (build-primref1402 #f (quote make-extended-syncase-macro)) (list (build-application1392 #f (build-primref1402 #f (quote module-ref)) (list (build-application1392 #f (build-primref1402 #f (quote current-module)) (quote ())) (build-data1403 #f name1911))) (build-data1403 #f (quote macro)) e1912)) (build-application1392 #f (build-primref1402 #f (quote make-syncase-macro)) (list (build-data1403 #f (quote macro)) e1912)))))) (chi-top-sequence1456 (lambda (body1914 r1915 w1916 s1917 m1918 esew1919 mod1920) (build-sequence1404 s1917 (letrec ((dobody1921 (lambda (body1922 r1923 w1924 m1925 esew1926 mod1927) (if (null? body1922) (quote ()) (let ((first1928 (chi-top1460 (car body1922) r1923 w1924 m1925 esew1926 mod1927))) (cons first1928 (dobody1921 (cdr body1922) r1923 w1924 m1925 esew1926 mod1927))))))) (dobody1921 body1914 r1915 w1916 m1918 esew1919 mod1920))))) (chi-sequence1455 (lambda (body1929 r1930 w1931 s1932 mod1933) (build-sequence1404 s1932 (letrec ((dobody1934 (lambda (body1935 r1936 w1937 mod1938) (if (null? body1935) (quote ()) (let ((first1939 (chi1461 (car body1935) r1936 w1937 mod1938))) (cons first1939 (dobody1934 (cdr body1935) r1936 w1937 mod1938))))))) (dobody1934 body1929 r1930 w1931 mod1933))))) (source-wrap1454 (lambda (x1940 w1941 s1942 defmod1943) (begin (if (if s1942 (pair? x1940) #f) (set-source-properties! x1940 s1942)) (wrap1453 x1940 w1941 defmod1943)))) (wrap1453 (lambda (x1944 w1945 defmod1946) (if (if (null? (wrap-marks1428 w1945)) (null? (wrap-subst1429 w1945)) #f) x1944 (if (syntax-object?1409 x1944) (make-syntax-object1408 (syntax-object-expression1410 x1944) (join-wraps1444 w1945 (syntax-object-wrap1411 x1944)) (syntax-object-module1412 x1944)) (if (null? x1944) x1944 (make-syntax-object1408 x1944 w1945 defmod1946)))))) (bound-id-member?1452 (lambda (x1947 list1948) (if (not (null? list1948)) (let ((t1949 (bound-id=?1449 x1947 (car list1948)))) (if t1949 t1949 (bound-id-member?1452 x1947 (cdr list1948)))) #f))) (distinct-bound-ids?1451 (lambda (ids1950) (letrec ((distinct?1951 (lambda (ids1952) (let ((t1953 (null? ids1952))) (if t1953 t1953 (if (not (bound-id-member?1452 (car ids1952) (cdr ids1952))) (distinct?1951 (cdr ids1952)) #f)))))) (distinct?1951 ids1950)))) (valid-bound-ids?1450 (lambda (ids1954) (if (letrec ((all-ids?1955 (lambda (ids1956) (let ((t1957 (null? ids1956))) (if t1957 t1957 (if (id?1425 (car ids1956)) (all-ids?1955 (cdr ids1956)) #f)))))) (all-ids?1955 ids1954)) (distinct-bound-ids?1451 ids1954) #f))) (bound-id=?1449 (lambda (i1958 j1959) (if (if (syntax-object?1409 i1958) (syntax-object?1409 j1959) #f) (if (eq? (syntax-object-expression1410 i1958) (syntax-object-expression1410 j1959)) (same-marks?1446 (wrap-marks1428 (syntax-object-wrap1411 i1958)) (wrap-marks1428 (syntax-object-wrap1411 j1959))) #f) (eq? i1958 j1959)))) (free-id=?1448 (lambda (i1960 j1961) (if (eq? (let ((x1962 i1960)) (if (syntax-object?1409 x1962) (syntax-object-expression1410 x1962) x1962)) (let ((x1963 j1961)) (if (syntax-object?1409 x1963) (syntax-object-expression1410 x1963) x1963))) (eq? (id-var-name1447 i1960 (quote (()))) (id-var-name1447 j1961 (quote (())))) #f))) (id-var-name1447 (lambda (id1964 w1965) (letrec ((search-vector-rib1968 (lambda (sym1974 subst1975 marks1976 symnames1977 ribcage1978) (let ((n1979 (vector-length symnames1977))) (letrec ((f1980 (lambda (i1981) (if (fx=1385 i1981 n1979) (search1966 sym1974 (cdr subst1975) marks1976) (if (if (eq? (vector-ref symnames1977 i1981) sym1974) (same-marks?1446 marks1976 (vector-ref (ribcage-marks1435 ribcage1978) i1981)) #f) (values (vector-ref (ribcage-labels1436 ribcage1978) i1981) marks1976) (f1980 (fx+1383 i1981 1))))))) (f1980 0))))) (search-list-rib1967 (lambda (sym1982 subst1983 marks1984 symnames1985 ribcage1986) (letrec ((f1987 (lambda (symnames1988 i1989) (if (null? symnames1988) (search1966 sym1982 (cdr subst1983) marks1984) (if (if (eq? (car symnames1988) sym1982) (same-marks?1446 marks1984 (list-ref (ribcage-marks1435 ribcage1986) i1989)) #f) (values (list-ref (ribcage-labels1436 ribcage1986) i1989) marks1984) (f1987 (cdr symnames1988) (fx+1383 i1989 1))))))) (f1987 symnames1985 0)))) (search1966 (lambda (sym1990 subst1991 marks1992) (if (null? subst1991) (values #f marks1992) (let ((fst1993 (car subst1991))) (if (eq? fst1993 (quote shift)) (search1966 sym1990 (cdr subst1991) (cdr marks1992)) (let ((symnames1994 (ribcage-symnames1434 fst1993))) (if (vector? symnames1994) (search-vector-rib1968 sym1990 subst1991 marks1992 symnames1994 fst1993) (search-list-rib1967 sym1990 subst1991 marks1992 symnames1994 fst1993))))))))) (if (symbol? id1964) (let ((t1995 (call-with-values (lambda () (search1966 id1964 (wrap-subst1429 w1965) (wrap-marks1428 w1965))) (lambda (x1997 . ignore1996) x1997)))) (if t1995 t1995 id1964)) (if (syntax-object?1409 id1964) (let ((id1998 (syntax-object-expression1410 id1964)) (w11999 (syntax-object-wrap1411 id1964))) (let ((marks2000 (join-marks1445 (wrap-marks1428 w1965) (wrap-marks1428 w11999)))) (call-with-values (lambda () (search1966 id1998 (wrap-subst1429 w1965) marks2000)) (lambda (new-id2001 marks2002) (let ((t2003 new-id2001)) (if t2003 t2003 (let ((t2004 (call-with-values (lambda () (search1966 id1998 (wrap-subst1429 w11999) marks2002)) (lambda (x2006 . ignore2005) x2006)))) (if t2004 t2004 id1998)))))))) (syntax-violation (quote id-var-name) "invalid id" id1964)))))) (same-marks?1446 (lambda (x2007 y2008) (let ((t2009 (eq? x2007 y2008))) (if t2009 t2009 (if (not (null? x2007)) (if (not (null? y2008)) (if (eq? (car x2007) (car y2008)) (same-marks?1446 (cdr x2007) (cdr y2008)) #f) #f) #f))))) (join-marks1445 (lambda (m12010 m22011) (smart-append1443 m12010 m22011))) (join-wraps1444 (lambda (w12012 w22013) (let ((m12014 (wrap-marks1428 w12012)) (s12015 (wrap-subst1429 w12012))) (if (null? m12014) (if (null? s12015) w22013 (make-wrap1427 (wrap-marks1428 w22013) (smart-append1443 s12015 (wrap-subst1429 w22013)))) (make-wrap1427 (smart-append1443 m12014 (wrap-marks1428 w22013)) (smart-append1443 s12015 (wrap-subst1429 w22013))))))) (smart-append1443 (lambda (m12016 m22017) (if (null? m22017) m12016 (append m12016 m22017)))) (make-binding-wrap1442 (lambda (ids2018 labels2019 w2020) (if (null? ids2018) w2020 (make-wrap1427 (wrap-marks1428 w2020) (cons (let ((labelvec2021 (list->vector labels2019))) (let ((n2022 (vector-length labelvec2021))) (let ((symnamevec2023 (make-vector n2022)) (marksvec2024 (make-vector n2022))) (begin (letrec ((f2025 (lambda (ids2026 i2027) (if (not (null? ids2026)) (call-with-values (lambda () (id-sym-name&marks1426 (car ids2026) w2020)) (lambda (symname2028 marks2029) (begin (vector-set! symnamevec2023 i2027 symname2028) (vector-set! marksvec2024 i2027 marks2029) (f2025 (cdr ids2026) (fx+1383 i2027 1))))))))) (f2025 ids2018 0)) (make-ribcage1432 symnamevec2023 marksvec2024 labelvec2021))))) (wrap-subst1429 w2020)))))) (extend-ribcage!1441 (lambda (ribcage2030 id2031 label2032) (begin (set-ribcage-symnames!1437 ribcage2030 (cons (syntax-object-expression1410 id2031) (ribcage-symnames1434 ribcage2030))) (set-ribcage-marks!1438 ribcage2030 (cons (wrap-marks1428 (syntax-object-wrap1411 id2031)) (ribcage-marks1435 ribcage2030))) (set-ribcage-labels!1439 ribcage2030 (cons label2032 (ribcage-labels1436 ribcage2030)))))) (anti-mark1440 (lambda (w2033) (make-wrap1427 (cons #f (wrap-marks1428 w2033)) (cons (quote shift) (wrap-subst1429 w2033))))) (set-ribcage-labels!1439 (lambda (x2034 update2035) (vector-set! x2034 3 update2035))) (set-ribcage-marks!1438 (lambda (x2036 update2037) (vector-set! x2036 2 update2037))) (set-ribcage-symnames!1437 (lambda (x2038 update2039) (vector-set! x2038 1 update2039))) (ribcage-labels1436 (lambda (x2040) (vector-ref x2040 3))) (ribcage-marks1435 (lambda (x2041) (vector-ref x2041 2))) (ribcage-symnames1434 (lambda (x2042) (vector-ref x2042 1))) (ribcage?1433 (lambda (x2043) (if (vector? x2043) (if (= (vector-length x2043) 4) (eq? (vector-ref x2043 0) (quote ribcage)) #f) #f))) (make-ribcage1432 (lambda (symnames2044 marks2045 labels2046) (vector (quote ribcage) symnames2044 marks2045 labels2046))) (gen-labels1431 (lambda (ls2047) (if (null? ls2047) (quote ()) (cons (gen-label1430) (gen-labels1431 (cdr ls2047)))))) (gen-label1430 (lambda () (string #\i))) (wrap-subst1429 cdr) (wrap-marks1428 car) (make-wrap1427 cons) (id-sym-name&marks1426 (lambda (x2048 w2049) (if (syntax-object?1409 x2048) (values (syntax-object-expression1410 x2048) (join-marks1445 (wrap-marks1428 w2049) (wrap-marks1428 (syntax-object-wrap1411 x2048)))) (values x2048 (wrap-marks1428 w2049))))) (id?1425 (lambda (x2050) (if (symbol? x2050) #t (if (syntax-object?1409 x2050) (symbol? (syntax-object-expression1410 x2050)) #f)))) (nonsymbol-id?1424 (lambda (x2051) (if (syntax-object?1409 x2051) (symbol? (syntax-object-expression1410 x2051)) #f))) (global-extend1423 (lambda (type2052 sym2053 val2054) (put-global-definition-hook1389 sym2053 type2052 val2054))) (lookup1422 (lambda (x2055 r2056 mod2057) (let ((t2058 (assq x2055 r2056))) (if t2058 (cdr t2058) (if (symbol? x2055) (let ((t2059 (get-global-definition-hook1390 x2055 mod2057))) (if t2059 t2059 (quote (global)))) (quote (displaced-lexical))))))) (macros-only-env1421 (lambda (r2060) (if (null? r2060) (quote ()) (let ((a2061 (car r2060))) (if (eq? (cadr a2061) (quote macro)) (cons a2061 (macros-only-env1421 (cdr r2060))) (macros-only-env1421 (cdr r2060))))))) (extend-var-env1420 (lambda (labels2062 vars2063 r2064) (if (null? labels2062) r2064 (extend-var-env1420 (cdr labels2062) (cdr vars2063) (cons (cons (car labels2062) (cons (quote lexical) (car vars2063))) r2064))))) (extend-env1419 (lambda (labels2065 bindings2066 r2067) (if (null? labels2065) r2067 (extend-env1419 (cdr labels2065) (cdr bindings2066) (cons (cons (car labels2065) (car bindings2066)) r2067))))) (binding-value1418 cdr) (binding-type1417 car) (source-annotation1416 (lambda (x2068) (if (syntax-object?1409 x2068) (source-annotation1416 (syntax-object-expression1410 x2068)) (if (pair? x2068) (let ((props2069 (source-properties x2068))) (if (pair? props2069) props2069 #f)) #f)))) (set-syntax-object-module!1415 (lambda (x2070 update2071) (vector-set! x2070 3 update2071))) (set-syntax-object-wrap!1414 (lambda (x2072 update2073) (vector-set! x2072 2 update2073))) (set-syntax-object-expression!1413 (lambda (x2074 update2075) (vector-set! x2074 1 update2075))) (syntax-object-module1412 (lambda (x2076) (vector-ref x2076 3))) (syntax-object-wrap1411 (lambda (x2077) (vector-ref x2077 2))) (syntax-object-expression1410 (lambda (x2078) (vector-ref x2078 1))) (syntax-object?1409 (lambda (x2079) (if (vector? x2079) (if (= (vector-length x2079) 4) (eq? (vector-ref x2079 0) (quote syntax-object)) #f) #f))) (make-syntax-object1408 (lambda (expression2080 wrap2081 module2082) (vector (quote syntax-object) expression2080 wrap2081 module2082))) (build-letrec1407 (lambda (src2083 ids2084 vars2085 val-exps2086 body-exp2087) (if (null? vars2085) body-exp2087 (let ((atom-key2088 (fluid-ref *mode*1382))) (if (memv atom-key2088 (quote (c))) (begin (for-each maybe-name-value!1399 ids2084 val-exps2086) ((@ (language tree-il) make-letrec) src2083 ids2084 vars2085 val-exps2086 body-exp2087)) (list (quote letrec) (map list vars2085 val-exps2086) body-exp2087)))))) (build-named-let1406 (lambda (src2089 ids2090 vars2091 val-exps2092 body-exp2093) (let ((f2094 (car vars2091)) (f-name2095 (car ids2090)) (vars2096 (cdr vars2091)) (ids2097 (cdr ids2090))) (let ((atom-key2098 (fluid-ref *mode*1382))) (if (memv atom-key2098 (quote (c))) (let ((proc2099 (build-lambda1401 src2089 ids2097 vars2096 #f body-exp2093))) (begin (maybe-name-value!1399 f-name2095 proc2099) (for-each maybe-name-value!1399 ids2097 val-exps2092) ((@ (language tree-il) make-letrec) src2089 (list f-name2095) (list f2094) (list proc2099) (build-application1392 src2089 (build-lexical-reference1394 (quote fun) src2089 f-name2095 f2094) val-exps2092)))) (list (quote let) f2094 (map list vars2096 val-exps2092) body-exp2093)))))) (build-let1405 (lambda (src2100 ids2101 vars2102 val-exps2103 body-exp2104) (if (null? vars2102) body-exp2104 (let ((atom-key2105 (fluid-ref *mode*1382))) (if (memv atom-key2105 (quote (c))) (begin (for-each maybe-name-value!1399 ids2101 val-exps2103) ((@ (language tree-il) make-let) src2100 ids2101 vars2102 val-exps2103 body-exp2104)) (list (quote let) (map list vars2102 val-exps2103) body-exp2104)))))) (build-sequence1404 (lambda (src2106 exps2107) (if (null? (cdr exps2107)) (car exps2107) (let ((atom-key2108 (fluid-ref *mode*1382))) (if (memv atom-key2108 (quote (c))) ((@ (language tree-il) make-sequence) src2106 exps2107) (cons (quote begin) exps2107)))))) (build-data1403 (lambda (src2109 exp2110) (let ((atom-key2111 (fluid-ref *mode*1382))) (if (memv atom-key2111 (quote (c))) ((@ (language tree-il) make-const) src2109 exp2110) (if (if (self-evaluating? exp2110) (not (vector? exp2110)) #f) exp2110 (list (quote quote) exp2110)))))) (build-primref1402 (lambda (src2112 name2113) (if (equal? (module-name (current-module)) (quote (guile))) (let ((atom-key2114 (fluid-ref *mode*1382))) (if (memv atom-key2114 (quote (c))) ((@ (language tree-il) make-toplevel-ref) src2112 name2113) name2113)) (let ((atom-key2115 (fluid-ref *mode*1382))) (if (memv atom-key2115 (quote (c))) ((@ (language tree-il) make-module-ref) src2112 (quote (guile)) name2113 #f) (list (quote @@) (quote (guile)) name2113)))))) (build-lambda1401 (lambda (src2116 ids2117 vars2118 docstring2119 exp2120) (let ((atom-key2121 (fluid-ref *mode*1382))) (if (memv atom-key2121 (quote (c))) ((@ (language tree-il) make-lambda) src2116 ids2117 vars2118 (if docstring2119 (list (cons (quote documentation) docstring2119)) (quote ())) exp2120) (cons (quote lambda) (cons vars2118 (append (if docstring2119 (list docstring2119) (quote ())) (list exp2120)))))))) (build-global-definition1400 (lambda (source2122 var2123 exp2124) (let ((atom-key2125 (fluid-ref *mode*1382))) (if (memv atom-key2125 (quote (c))) (begin (maybe-name-value!1399 var2123 exp2124) ((@ (language tree-il) make-toplevel-define) source2122 var2123 exp2124)) (list (quote define) var2123 exp2124))))) (maybe-name-value!1399 (lambda (name2126 val2127) (if ((@ (language tree-il) lambda?) val2127) (let ((meta2128 ((@ (language tree-il) lambda-meta) val2127))) (if (not (assq (quote name) meta2128)) ((setter (@ (language tree-il) lambda-meta)) val2127 (acons (quote name) name2126 meta2128))))))) (build-global-assignment1398 (lambda (source2129 var2130 exp2131 mod2132) (analyze-variable1396 mod2132 var2130 (lambda (mod2133 var2134 public?2135) (let ((atom-key2136 (fluid-ref *mode*1382))) (if (memv atom-key2136 (quote (c))) ((@ (language tree-il) make-module-set) source2129 mod2133 var2134 public?2135 exp2131) (list (quote set!) (list (if public?2135 (quote @) (quote @@)) mod2133 var2134) exp2131)))) (lambda (var2137) (let ((atom-key2138 (fluid-ref *mode*1382))) (if (memv atom-key2138 (quote (c))) ((@ (language tree-il) make-toplevel-set) source2129 var2137 exp2131) (list (quote set!) var2137 exp2131))))))) (build-global-reference1397 (lambda (source2139 var2140 mod2141) (analyze-variable1396 mod2141 var2140 (lambda (mod2142 var2143 public?2144) (let ((atom-key2145 (fluid-ref *mode*1382))) (if (memv atom-key2145 (quote (c))) ((@ (language tree-il) make-module-ref) source2139 mod2142 var2143 public?2144) (list (if public?2144 (quote @) (quote @@)) mod2142 var2143)))) (lambda (var2146) (let ((atom-key2147 (fluid-ref *mode*1382))) (if (memv atom-key2147 (quote (c))) ((@ (language tree-il) make-toplevel-ref) source2139 var2146) var2146)))))) (analyze-variable1396 (lambda (mod2148 var2149 modref-cont2150 bare-cont2151) (if (not mod2148) (bare-cont2151 var2149) (let ((kind2152 (car mod2148)) (mod2153 (cdr mod2148))) (if (memv kind2152 (quote (public))) (modref-cont2150 mod2153 var2149 #t) (if (memv kind2152 (quote (private))) (if (not (equal? mod2153 (module-name (current-module)))) (modref-cont2150 mod2153 var2149 #f) (bare-cont2151 var2149)) (if (memv kind2152 (quote (bare))) (bare-cont2151 var2149) (if (memv kind2152 (quote (hygiene))) (if (if (not (equal? mod2153 (module-name (current-module)))) (module-variable (resolve-module mod2153) var2149) #f) (modref-cont2150 mod2153 var2149 #f) (bare-cont2151 var2149)) (syntax-violation #f "bad module kind" var2149 mod2153))))))))) (build-lexical-assignment1395 (lambda (source2154 name2155 var2156 exp2157) (let ((atom-key2158 (fluid-ref *mode*1382))) (if (memv atom-key2158 (quote (c))) ((@ (language tree-il) make-lexical-set) source2154 name2155 var2156 exp2157) (list (quote set!) var2156 exp2157))))) (build-lexical-reference1394 (lambda (type2159 source2160 name2161 var2162) (let ((atom-key2163 (fluid-ref *mode*1382))) (if (memv atom-key2163 (quote (c))) ((@ (language tree-il) make-lexical-ref) source2160 name2161 var2162) var2162)))) (build-conditional1393 (lambda (source2164 test-exp2165 then-exp2166 else-exp2167) (let ((atom-key2168 (fluid-ref *mode*1382))) (if (memv atom-key2168 (quote (c))) ((@ (language tree-il) make-conditional) source2164 test-exp2165 then-exp2166 else-exp2167) (if (equal? else-exp2167 (quote (if #f #f))) (list (quote if) test-exp2165 then-exp2166) (list (quote if) test-exp2165 then-exp2166 else-exp2167)))))) (build-application1392 (lambda (source2169 fun-exp2170 arg-exps2171) (let ((atom-key2172 (fluid-ref *mode*1382))) (if (memv atom-key2172 (quote (c))) ((@ (language tree-il) make-application) source2169 fun-exp2170 arg-exps2171) (cons fun-exp2170 arg-exps2171))))) (build-void1391 (lambda (source2173) (let ((atom-key2174 (fluid-ref *mode*1382))) (if (memv atom-key2174 (quote (c))) ((@ (language tree-il) make-void) source2173) (quote (if #f #f)))))) (get-global-definition-hook1390 (lambda (symbol2175 module2176) (begin (if (if (not module2176) (current-module) #f) (warn "module system is booted, we should have a module" symbol2175)) (let ((v2177 (module-variable (if module2176 (resolve-module (cdr module2176)) (current-module)) symbol2175))) (if v2177 (if (variable-bound? v2177) (let ((val2178 (variable-ref v2177))) (if (macro? val2178) (if (syncase-macro-type val2178) (cons (syncase-macro-type val2178) (syncase-macro-binding val2178)) #f) #f)) #f) #f))))) (put-global-definition-hook1389 (lambda (symbol2179 type2180 val2181) (let ((existing2182 (let ((v2183 (module-variable (current-module) symbol2179))) (if v2183 (if (variable-bound? v2183) (let ((val2184 (variable-ref v2183))) (if (macro? val2184) (if (not (syncase-macro-type val2184)) val2184 #f) #f)) #f) #f)))) (module-define! (current-module) symbol2179 (if existing2182 (make-extended-syncase-macro existing2182 type2180 val2181) (make-syncase-macro type2180 val2181)))))) (local-eval-hook1388 (lambda (x2185 mod2186) (primitive-eval (list noexpand1381 (let ((atom-key2187 (fluid-ref *mode*1382))) (if (memv atom-key2187 (quote (c))) ((@ (language tree-il) tree-il->scheme) x2185) x2185)))))) (top-level-eval-hook1387 (lambda (x2188 mod2189) (primitive-eval (list noexpand1381 (let ((atom-key2190 (fluid-ref *mode*1382))) (if (memv atom-key2190 (quote (c))) ((@ (language tree-il) tree-il->scheme) x2188) x2188)))))) (fx<1386 <) (fx=1385 =) (fx-1384 -) (fx+1383 +) (*mode*1382 (make-fluid)) (noexpand1381 "noexpand")) (begin (global-extend1423 (quote local-syntax) (quote letrec-syntax) #t) (global-extend1423 (quote local-syntax) (quote let-syntax) #f) (global-extend1423 (quote core) (quote fluid-let-syntax) (lambda (e2191 r2192 w2193 s2194 mod2195) ((lambda (tmp2196) ((lambda (tmp2197) (if (if tmp2197 (apply (lambda (_2198 var2199 val2200 e12201 e22202) (valid-bound-ids?1450 var2199)) tmp2197) #f) (apply (lambda (_2204 var2205 val2206 e12207 e22208) (let ((names2209 (map (lambda (x2210) (id-var-name1447 x2210 w2193)) var2205))) (begin (for-each (lambda (id2212 n2213) (let ((atom-key2214 (binding-type1417 (lookup1422 n2213 r2192 mod2195)))) (if (memv atom-key2214 (quote (displaced-lexical))) (syntax-violation (quote fluid-let-syntax) "identifier out of context" e2191 (source-wrap1454 id2212 w2193 s2194 mod2195))))) var2205 names2209) (chi-body1465 (cons e12207 e22208) (source-wrap1454 e2191 w2193 s2194 mod2195) (extend-env1419 names2209 (let ((trans-r2217 (macros-only-env1421 r2192))) (map (lambda (x2218) (cons (quote macro) (eval-local-transformer1468 (chi1461 x2218 trans-r2217 w2193 mod2195) mod2195))) val2206)) r2192) w2193 mod2195)))) tmp2197) ((lambda (_2220) (syntax-violation (quote fluid-let-syntax) "bad syntax" (source-wrap1454 e2191 w2193 s2194 mod2195))) tmp2196))) ($sc-dispatch tmp2196 (quote (any #(each (any any)) any . each-any))))) e2191))) (global-extend1423 (quote core) (quote quote) (lambda (e2221 r2222 w2223 s2224 mod2225) ((lambda (tmp2226) ((lambda (tmp2227) (if tmp2227 (apply (lambda (_2228 e2229) (build-data1403 s2224 (strip1471 e2229 w2223))) tmp2227) ((lambda (_2230) (syntax-violation (quote quote) "bad syntax" (source-wrap1454 e2221 w2223 s2224 mod2225))) tmp2226))) ($sc-dispatch tmp2226 (quote (any any))))) e2221))) (global-extend1423 (quote core) (quote syntax) (letrec ((regen2238 (lambda (x2239) (let ((atom-key2240 (car x2239))) (if (memv atom-key2240 (quote (ref))) (build-lexical-reference1394 (quote value) #f (cadr x2239) (cadr x2239)) (if (memv atom-key2240 (quote (primitive))) (build-primref1402 #f (cadr x2239)) (if (memv atom-key2240 (quote (quote))) (build-data1403 #f (cadr x2239)) (if (memv atom-key2240 (quote (lambda))) (build-lambda1401 #f (cadr x2239) (cadr x2239) #f (regen2238 (caddr x2239))) (build-application1392 #f (build-primref1402 #f (car x2239)) (map regen2238 (cdr x2239)))))))))) (gen-vector2237 (lambda (x2241) (if (eq? (car x2241) (quote list)) (cons (quote vector) (cdr x2241)) (if (eq? (car x2241) (quote quote)) (list (quote quote) (list->vector (cadr x2241))) (list (quote list->vector) x2241))))) (gen-append2236 (lambda (x2242 y2243) (if (equal? y2243 (quote (quote ()))) x2242 (list (quote append) x2242 y2243)))) (gen-cons2235 (lambda (x2244 y2245) (let ((atom-key2246 (car y2245))) (if (memv atom-key2246 (quote (quote))) (if (eq? (car x2244) (quote quote)) (list (quote quote) (cons (cadr x2244) (cadr y2245))) (if (eq? (cadr y2245) (quote ())) (list (quote list) x2244) (list (quote cons) x2244 y2245))) (if (memv atom-key2246 (quote (list))) (cons (quote list) (cons x2244 (cdr y2245))) (list (quote cons) x2244 y2245)))))) (gen-map2234 (lambda (e2247 map-env2248) (let ((formals2249 (map cdr map-env2248)) (actuals2250 (map (lambda (x2251) (list (quote ref) (car x2251))) map-env2248))) (if (eq? (car e2247) (quote ref)) (car actuals2250) (if (and-map (lambda (x2252) (if (eq? (car x2252) (quote ref)) (memq (cadr x2252) formals2249) #f)) (cdr e2247)) (cons (quote map) (cons (list (quote primitive) (car e2247)) (map (let ((r2253 (map cons formals2249 actuals2250))) (lambda (x2254) (cdr (assq (cadr x2254) r2253)))) (cdr e2247)))) (cons (quote map) (cons (list (quote lambda) formals2249 e2247) actuals2250))))))) (gen-mappend2233 (lambda (e2255 map-env2256) (list (quote apply) (quote (primitive append)) (gen-map2234 e2255 map-env2256)))) (gen-ref2232 (lambda (src2257 var2258 level2259 maps2260) (if (fx=1385 level2259 0) (values var2258 maps2260) (if (null? maps2260) (syntax-violation (quote syntax) "missing ellipsis" src2257) (call-with-values (lambda () (gen-ref2232 src2257 var2258 (fx-1384 level2259 1) (cdr maps2260))) (lambda (outer-var2261 outer-maps2262) (let ((b2263 (assq outer-var2261 (car maps2260)))) (if b2263 (values (cdr b2263) maps2260) (let ((inner-var2264 (gen-var1472 (quote tmp)))) (values inner-var2264 (cons (cons (cons outer-var2261 inner-var2264) (car maps2260)) outer-maps2262))))))))))) (gen-syntax2231 (lambda (src2265 e2266 r2267 maps2268 ellipsis?2269 mod2270) (if (id?1425 e2266) (let ((label2271 (id-var-name1447 e2266 (quote (()))))) (let ((b2272 (lookup1422 label2271 r2267 mod2270))) (if (eq? (binding-type1417 b2272) (quote syntax)) (call-with-values (lambda () (let ((var.lev2273 (binding-value1418 b2272))) (gen-ref2232 src2265 (car var.lev2273) (cdr var.lev2273) maps2268))) (lambda (var2274 maps2275) (values (list (quote ref) var2274) maps2275))) (if (ellipsis?2269 e2266) (syntax-violation (quote syntax) "misplaced ellipsis" src2265) (values (list (quote quote) e2266) maps2268))))) ((lambda (tmp2276) ((lambda (tmp2277) (if (if tmp2277 (apply (lambda (dots2278 e2279) (ellipsis?2269 dots2278)) tmp2277) #f) (apply (lambda (dots2280 e2281) (gen-syntax2231 src2265 e2281 r2267 maps2268 (lambda (x2282) #f) mod2270)) tmp2277) ((lambda (tmp2283) (if (if tmp2283 (apply (lambda (x2284 dots2285 y2286) (ellipsis?2269 dots2285)) tmp2283) #f) (apply (lambda (x2287 dots2288 y2289) (letrec ((f2290 (lambda (y2291 k2292) ((lambda (tmp2296) ((lambda (tmp2297) (if (if tmp2297 (apply (lambda (dots2298 y2299) (ellipsis?2269 dots2298)) tmp2297) #f) (apply (lambda (dots2300 y2301) (f2290 y2301 (lambda (maps2302) (call-with-values (lambda () (k2292 (cons (quote ()) maps2302))) (lambda (x2303 maps2304) (if (null? (car maps2304)) (syntax-violation (quote syntax) "extra ellipsis" src2265) (values (gen-mappend2233 x2303 (car maps2304)) (cdr maps2304)))))))) tmp2297) ((lambda (_2305) (call-with-values (lambda () (gen-syntax2231 src2265 y2291 r2267 maps2268 ellipsis?2269 mod2270)) (lambda (y2306 maps2307) (call-with-values (lambda () (k2292 maps2307)) (lambda (x2308 maps2309) (values (gen-append2236 x2308 y2306) maps2309)))))) tmp2296))) ($sc-dispatch tmp2296 (quote (any . any))))) y2291)))) (f2290 y2289 (lambda (maps2293) (call-with-values (lambda () (gen-syntax2231 src2265 x2287 r2267 (cons (quote ()) maps2293) ellipsis?2269 mod2270)) (lambda (x2294 maps2295) (if (null? (car maps2295)) (syntax-violation (quote syntax) "extra ellipsis" src2265) (values (gen-map2234 x2294 (car maps2295)) (cdr maps2295))))))))) tmp2283) ((lambda (tmp2310) (if tmp2310 (apply (lambda (x2311 y2312) (call-with-values (lambda () (gen-syntax2231 src2265 x2311 r2267 maps2268 ellipsis?2269 mod2270)) (lambda (x2313 maps2314) (call-with-values (lambda () (gen-syntax2231 src2265 y2312 r2267 maps2314 ellipsis?2269 mod2270)) (lambda (y2315 maps2316) (values (gen-cons2235 x2313 y2315) maps2316)))))) tmp2310) ((lambda (tmp2317) (if tmp2317 (apply (lambda (e12318 e22319) (call-with-values (lambda () (gen-syntax2231 src2265 (cons e12318 e22319) r2267 maps2268 ellipsis?2269 mod2270)) (lambda (e2321 maps2322) (values (gen-vector2237 e2321) maps2322)))) tmp2317) ((lambda (_2323) (values (list (quote quote) e2266) maps2268)) tmp2276))) ($sc-dispatch tmp2276 (quote #(vector (any . each-any))))))) ($sc-dispatch tmp2276 (quote (any . any)))))) ($sc-dispatch tmp2276 (quote (any any . any)))))) ($sc-dispatch tmp2276 (quote (any any))))) e2266))))) (lambda (e2324 r2325 w2326 s2327 mod2328) (let ((e2329 (source-wrap1454 e2324 w2326 s2327 mod2328))) ((lambda (tmp2330) ((lambda (tmp2331) (if tmp2331 (apply (lambda (_2332 x2333) (call-with-values (lambda () (gen-syntax2231 e2329 x2333 r2325 (quote ()) ellipsis?1470 mod2328)) (lambda (e2334 maps2335) (regen2238 e2334)))) tmp2331) ((lambda (_2336) (syntax-violation (quote syntax) "bad `syntax' form" e2329)) tmp2330))) ($sc-dispatch tmp2330 (quote (any any))))) e2329))))) (global-extend1423 (quote core) (quote lambda) (lambda (e2337 r2338 w2339 s2340 mod2341) ((lambda (tmp2342) ((lambda (tmp2343) (if tmp2343 (apply (lambda (_2344 c2345) (chi-lambda-clause1466 (source-wrap1454 e2337 w2339 s2340 mod2341) #f c2345 r2338 w2339 mod2341 (lambda (names2346 vars2347 docstring2348 body2349) (build-lambda1401 s2340 names2346 vars2347 docstring2348 body2349)))) tmp2343) (syntax-violation #f "source expression failed to match any pattern" tmp2342))) ($sc-dispatch tmp2342 (quote (any . any))))) e2337))) (global-extend1423 (quote core) (quote let) (letrec ((chi-let2350 (lambda (e2351 r2352 w2353 s2354 mod2355 constructor2356 ids2357 vals2358 exps2359) (if (not (valid-bound-ids?1450 ids2357)) (syntax-violation (quote let) "duplicate bound variable" e2351) (let ((labels2360 (gen-labels1431 ids2357)) (new-vars2361 (map gen-var1472 ids2357))) (let ((nw2362 (make-binding-wrap1442 ids2357 labels2360 w2353)) (nr2363 (extend-var-env1420 labels2360 new-vars2361 r2352))) (constructor2356 s2354 (map syntax->datum ids2357) new-vars2361 (map (lambda (x2364) (chi1461 x2364 r2352 w2353 mod2355)) vals2358) (chi-body1465 exps2359 (source-wrap1454 e2351 nw2362 s2354 mod2355) nr2363 nw2362 mod2355)))))))) (lambda (e2365 r2366 w2367 s2368 mod2369) ((lambda (tmp2370) ((lambda (tmp2371) (if (if tmp2371 (apply (lambda (_2372 id2373 val2374 e12375 e22376) (and-map id?1425 id2373)) tmp2371) #f) (apply (lambda (_2378 id2379 val2380 e12381 e22382) (chi-let2350 e2365 r2366 w2367 s2368 mod2369 build-let1405 id2379 val2380 (cons e12381 e22382))) tmp2371) ((lambda (tmp2386) (if (if tmp2386 (apply (lambda (_2387 f2388 id2389 val2390 e12391 e22392) (if (id?1425 f2388) (and-map id?1425 id2389) #f)) tmp2386) #f) (apply (lambda (_2394 f2395 id2396 val2397 e12398 e22399) (chi-let2350 e2365 r2366 w2367 s2368 mod2369 build-named-let1406 (cons f2395 id2396) val2397 (cons e12398 e22399))) tmp2386) ((lambda (_2403) (syntax-violation (quote let) "bad let" (source-wrap1454 e2365 w2367 s2368 mod2369))) tmp2370))) ($sc-dispatch tmp2370 (quote (any any #(each (any any)) any . each-any)))))) ($sc-dispatch tmp2370 (quote (any #(each (any any)) any . each-any))))) e2365)))) (global-extend1423 (quote core) (quote letrec) (lambda (e2404 r2405 w2406 s2407 mod2408) ((lambda (tmp2409) ((lambda (tmp2410) (if (if tmp2410 (apply (lambda (_2411 id2412 val2413 e12414 e22415) (and-map id?1425 id2412)) tmp2410) #f) (apply (lambda (_2417 id2418 val2419 e12420 e22421) (let ((ids2422 id2418)) (if (not (valid-bound-ids?1450 ids2422)) (syntax-violation (quote letrec) "duplicate bound variable" e2404) (let ((labels2424 (gen-labels1431 ids2422)) (new-vars2425 (map gen-var1472 ids2422))) (let ((w2426 (make-binding-wrap1442 ids2422 labels2424 w2406)) (r2427 (extend-var-env1420 labels2424 new-vars2425 r2405))) (build-letrec1407 s2407 (map syntax->datum ids2422) new-vars2425 (map (lambda (x2428) (chi1461 x2428 r2427 w2426 mod2408)) val2419) (chi-body1465 (cons e12420 e22421) (source-wrap1454 e2404 w2426 s2407 mod2408) r2427 w2426 mod2408))))))) tmp2410) ((lambda (_2431) (syntax-violation (quote letrec) "bad letrec" (source-wrap1454 e2404 w2406 s2407 mod2408))) tmp2409))) ($sc-dispatch tmp2409 (quote (any #(each (any any)) any . each-any))))) e2404))) (global-extend1423 (quote core) (quote set!) (lambda (e2432 r2433 w2434 s2435 mod2436) ((lambda (tmp2437) ((lambda (tmp2438) (if (if tmp2438 (apply (lambda (_2439 id2440 val2441) (id?1425 id2440)) tmp2438) #f) (apply (lambda (_2442 id2443 val2444) (let ((val2445 (chi1461 val2444 r2433 w2434 mod2436)) (n2446 (id-var-name1447 id2443 w2434))) (let ((b2447 (lookup1422 n2446 r2433 mod2436))) (let ((atom-key2448 (binding-type1417 b2447))) (if (memv atom-key2448 (quote (lexical))) (build-lexical-assignment1395 s2435 (syntax->datum id2443) (binding-value1418 b2447) val2445) (if (memv atom-key2448 (quote (global))) (build-global-assignment1398 s2435 n2446 val2445 mod2436) (if (memv atom-key2448 (quote (displaced-lexical))) (syntax-violation (quote set!) "identifier out of context" (wrap1453 id2443 w2434 mod2436)) (syntax-violation (quote set!) "bad set!" (source-wrap1454 e2432 w2434 s2435 mod2436))))))))) tmp2438) ((lambda (tmp2449) (if tmp2449 (apply (lambda (_2450 head2451 tail2452 val2453) (call-with-values (lambda () (syntax-type1459 head2451 r2433 (quote (())) #f #f mod2436 #t)) (lambda (type2454 value2455 ee2456 ww2457 ss2458 modmod2459) (if (memv type2454 (quote (module-ref))) (let ((val2460 (chi1461 val2453 r2433 w2434 mod2436))) (call-with-values (lambda () (value2455 (cons head2451 tail2452))) (lambda (id2462 mod2463) (build-global-assignment1398 s2435 id2462 val2460 mod2463)))) (build-application1392 s2435 (chi1461 (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))) head2451) r2433 w2434 mod2436) (map (lambda (e2464) (chi1461 e2464 r2433 w2434 mod2436)) (append tail2452 (list val2453)))))))) tmp2449) ((lambda (_2466) (syntax-violation (quote set!) "bad set!" (source-wrap1454 e2432 w2434 s2435 mod2436))) tmp2437))) ($sc-dispatch tmp2437 (quote (any (any . each-any) any)))))) ($sc-dispatch tmp2437 (quote (any any any))))) e2432))) (global-extend1423 (quote module-ref) (quote @) (lambda (e2467) ((lambda (tmp2468) ((lambda (tmp2469) (if (if tmp2469 (apply (lambda (_2470 mod2471 id2472) (if (and-map id?1425 mod2471) (id?1425 id2472) #f)) tmp2469) #f) (apply (lambda (_2474 mod2475 id2476) (values (syntax->datum id2476) (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))) mod2475)))) tmp2469) (syntax-violation #f "source expression failed to match any pattern" tmp2468))) ($sc-dispatch tmp2468 (quote (any each-any any))))) e2467))) (global-extend1423 (quote module-ref) (quote @@) (lambda (e2478) ((lambda (tmp2479) ((lambda (tmp2480) (if (if tmp2480 (apply (lambda (_2481 mod2482 id2483) (if (and-map id?1425 mod2482) (id?1425 id2483) #f)) tmp2480) #f) (apply (lambda (_2485 mod2486 id2487) (values (syntax->datum id2487) (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))) mod2486)))) tmp2480) (syntax-violation #f "source expression failed to match any pattern" tmp2479))) ($sc-dispatch tmp2479 (quote (any each-any any))))) e2478))) (global-extend1423 (quote core) (quote if) (lambda (e2489 r2490 w2491 s2492 mod2493) ((lambda (tmp2494) ((lambda (tmp2495) (if tmp2495 (apply (lambda (_2496 test2497 then2498) (build-conditional1393 s2492 (chi1461 test2497 r2490 w2491 mod2493) (chi1461 then2498 r2490 w2491 mod2493) (build-void1391 #f))) tmp2495) ((lambda (tmp2499) (if tmp2499 (apply (lambda (_2500 test2501 then2502 else2503) (build-conditional1393 s2492 (chi1461 test2501 r2490 w2491 mod2493) (chi1461 then2502 r2490 w2491 mod2493) (chi1461 else2503 r2490 w2491 mod2493))) tmp2499) (syntax-violation #f "source expression failed to match any pattern" tmp2494))) ($sc-dispatch tmp2494 (quote (any any any any)))))) ($sc-dispatch tmp2494 (quote (any any any))))) e2489))) (global-extend1423 (quote begin) (quote begin) (quote ())) (global-extend1423 (quote define) (quote define) (quote ())) (global-extend1423 (quote define-syntax) (quote define-syntax) (quote ())) (global-extend1423 (quote eval-when) (quote eval-when) (quote ())) (global-extend1423 (quote core) (quote syntax-case) (letrec ((gen-syntax-case2507 (lambda (x2508 keys2509 clauses2510 r2511 mod2512) (if (null? clauses2510) (build-application1392 #f (build-primref1402 #f (quote syntax-violation)) (list (build-data1403 #f #f) (build-data1403 #f "source expression failed to match any pattern") x2508)) ((lambda (tmp2513) ((lambda (tmp2514) (if tmp2514 (apply (lambda (pat2515 exp2516) (if (if (id?1425 pat2515) (and-map (lambda (x2517) (not (free-id=?1448 pat2515 x2517))) (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))) keys2509)) #f) (let ((labels2518 (list (gen-label1430))) (var2519 (gen-var1472 pat2515))) (build-application1392 #f (build-lambda1401 #f (list (syntax->datum pat2515)) (list var2519) #f (chi1461 exp2516 (extend-env1419 labels2518 (list (cons (quote syntax) (cons var2519 0))) r2511) (make-binding-wrap1442 (list pat2515) labels2518 (quote (()))) mod2512)) (list x2508))) (gen-clause2506 x2508 keys2509 (cdr clauses2510) r2511 pat2515 #t exp2516 mod2512))) tmp2514) ((lambda (tmp2520) (if tmp2520 (apply (lambda (pat2521 fender2522 exp2523) (gen-clause2506 x2508 keys2509 (cdr clauses2510) r2511 pat2521 fender2522 exp2523 mod2512)) tmp2520) ((lambda (_2524) (syntax-violation (quote syntax-case) "invalid clause" (car clauses2510))) tmp2513))) ($sc-dispatch tmp2513 (quote (any any any)))))) ($sc-dispatch tmp2513 (quote (any any))))) (car clauses2510))))) (gen-clause2506 (lambda (x2525 keys2526 clauses2527 r2528 pat2529 fender2530 exp2531 mod2532) (call-with-values (lambda () (convert-pattern2504 pat2529 keys2526)) (lambda (p2533 pvars2534) (if (not (distinct-bound-ids?1451 (map car pvars2534))) (syntax-violation (quote syntax-case) "duplicate pattern variable" pat2529) (if (not (and-map (lambda (x2535) (not (ellipsis?1470 (car x2535)))) pvars2534)) (syntax-violation (quote syntax-case) "misplaced ellipsis" pat2529) (let ((y2536 (gen-var1472 (quote tmp)))) (build-application1392 #f (build-lambda1401 #f (list (quote tmp)) (list y2536) #f (let ((y2537 (build-lexical-reference1394 (quote value) #f (quote tmp) y2536))) (build-conditional1393 #f ((lambda (tmp2538) ((lambda (tmp2539) (if tmp2539 (apply (lambda () y2537) tmp2539) ((lambda (_2540) (build-conditional1393 #f y2537 (build-dispatch-call2505 pvars2534 fender2530 y2537 r2528 mod2532) (build-data1403 #f #f))) tmp2538))) ($sc-dispatch tmp2538 (quote #(atom #t))))) fender2530) (build-dispatch-call2505 pvars2534 exp2531 y2537 r2528 mod2532) (gen-syntax-case2507 x2525 keys2526 clauses2527 r2528 mod2532)))) (list (if (eq? p2533 (quote any)) (build-application1392 #f (build-primref1402 #f (quote list)) (list x2525)) (build-application1392 #f (build-primref1402 #f (quote $sc-dispatch)) (list x2525 (build-data1403 #f p2533))))))))))))) (build-dispatch-call2505 (lambda (pvars2541 exp2542 y2543 r2544 mod2545) (let ((ids2546 (map car pvars2541)) (levels2547 (map cdr pvars2541))) (let ((labels2548 (gen-labels1431 ids2546)) (new-vars2549 (map gen-var1472 ids2546))) (build-application1392 #f (build-primref1402 #f (quote apply)) (list (build-lambda1401 #f (map syntax->datum ids2546) new-vars2549 #f (chi1461 exp2542 (extend-env1419 labels2548 (map (lambda (var2550 level2551) (cons (quote syntax) (cons var2550 level2551))) new-vars2549 (map cdr pvars2541)) r2544) (make-binding-wrap1442 ids2546 labels2548 (quote (()))) mod2545)) y2543)))))) (convert-pattern2504 (lambda (pattern2552 keys2553) (letrec ((cvt2554 (lambda (p2555 n2556 ids2557) (if (id?1425 p2555) (if (bound-id-member?1452 p2555 keys2553) (values (vector (quote free-id) p2555) ids2557) (values (quote any) (cons (cons p2555 n2556) ids2557))) ((lambda (tmp2558) ((lambda (tmp2559) (if (if tmp2559 (apply (lambda (x2560 dots2561) (ellipsis?1470 dots2561)) tmp2559) #f) (apply (lambda (x2562 dots2563) (call-with-values (lambda () (cvt2554 x2562 (fx+1383 n2556 1) ids2557)) (lambda (p2564 ids2565) (values (if (eq? p2564 (quote any)) (quote each-any) (vector (quote each) p2564)) ids2565)))) tmp2559) ((lambda (tmp2566) (if tmp2566 (apply (lambda (x2567 y2568) (call-with-values (lambda () (cvt2554 y2568 n2556 ids2557)) (lambda (y2569 ids2570) (call-with-values (lambda () (cvt2554 x2567 n2556 ids2570)) (lambda (x2571 ids2572) (values (cons x2571 y2569) ids2572)))))) tmp2566) ((lambda (tmp2573) (if tmp2573 (apply (lambda () (values (quote ()) ids2557)) tmp2573) ((lambda (tmp2574) (if tmp2574 (apply (lambda (x2575) (call-with-values (lambda () (cvt2554 x2575 n2556 ids2557)) (lambda (p2577 ids2578) (values (vector (quote vector) p2577) ids2578)))) tmp2574) ((lambda (x2579) (values (vector (quote atom) (strip1471 p2555 (quote (())))) ids2557)) tmp2558))) ($sc-dispatch tmp2558 (quote #(vector each-any)))))) ($sc-dispatch tmp2558 (quote ()))))) ($sc-dispatch tmp2558 (quote (any . any)))))) ($sc-dispatch tmp2558 (quote (any any))))) p2555))))) (cvt2554 pattern2552 0 (quote ())))))) (lambda (e2580 r2581 w2582 s2583 mod2584) (let ((e2585 (source-wrap1454 e2580 w2582 s2583 mod2584))) ((lambda (tmp2586) ((lambda (tmp2587) (if tmp2587 (apply (lambda (_2588 val2589 key2590 m2591) (if (and-map (lambda (x2592) (if (id?1425 x2592) (not (ellipsis?1470 x2592)) #f)) key2590) (let ((x2594 (gen-var1472 (quote tmp)))) (build-application1392 s2583 (build-lambda1401 #f (list (quote tmp)) (list x2594) #f (gen-syntax-case2507 (build-lexical-reference1394 (quote value) #f (quote tmp) x2594) key2590 m2591 r2581 mod2584)) (list (chi1461 val2589 r2581 (quote (())) mod2584)))) (syntax-violation (quote syntax-case) "invalid literals list" e2585))) tmp2587) (syntax-violation #f "source expression failed to match any pattern" tmp2586))) ($sc-dispatch tmp2586 (quote (any any each-any . each-any))))) e2585))))) (set! sc-expand (lambda (x2598 . rest2597) (if (if (pair? x2598) (equal? (car x2598) noexpand1381) #f) (cadr x2598) (let ((m2599 (if (null? rest2597) (quote e) (car rest2597))) (esew2600 (if (let ((t2601 (null? rest2597))) (if t2601 t2601 (null? (cdr rest2597)))) (quote (eval)) (cadr rest2597)))) (with-fluid* *mode*1382 m2599 (lambda () (chi-top1460 x2598 (quote ()) (quote ((top))) m2599 esew2600 (cons (quote hygiene) (module-name (current-module)))))))))) (set! identifier? (lambda (x2602) (nonsymbol-id?1424 x2602))) (set! datum->syntax (lambda (id2603 datum2604) (make-syntax-object1408 datum2604 (syntax-object-wrap1411 id2603) #f))) (set! syntax->datum (lambda (x2605) (strip1471 x2605 (quote (()))))) (set! generate-temporaries (lambda (ls2606) (begin (let ((x2607 ls2606)) (if (not (list? x2607)) (syntax-violation (quote generate-temporaries) "invalid argument" x2607))) (map (lambda (x2608) (wrap1453 (gensym) (quote ((top))) #f)) ls2606)))) (set! free-identifier=? (lambda (x2609 y2610) (begin (let ((x2611 x2609)) (if (not (nonsymbol-id?1424 x2611)) (syntax-violation (quote free-identifier=?) "invalid argument" x2611))) (let ((x2612 y2610)) (if (not (nonsymbol-id?1424 x2612)) (syntax-violation (quote free-identifier=?) "invalid argument" x2612))) (free-id=?1448 x2609 y2610)))) (set! bound-identifier=? (lambda (x2613 y2614) (begin (let ((x2615 x2613)) (if (not (nonsymbol-id?1424 x2615)) (syntax-violation (quote bound-identifier=?) "invalid argument" x2615))) (let ((x2616 y2614)) (if (not (nonsymbol-id?1424 x2616)) (syntax-violation (quote bound-identifier=?) "invalid argument" x2616))) (bound-id=?1449 x2613 y2614)))) (set! syntax-violation (lambda (who2620 message2619 form2618 . subform2617) (begin (let ((x2621 who2620)) (if (not ((lambda (x2622) (let ((t2623 (not x2622))) (if t2623 t2623 (let ((t2624 (string? x2622))) (if t2624 t2624 (symbol? x2622)))))) x2621)) (syntax-violation (quote syntax-violation) "invalid argument" x2621))) (let ((x2625 message2619)) (if (not (string? x2625)) (syntax-violation (quote syntax-violation) "invalid argument" x2625))) (scm-error (quote syntax-error) (quote sc-expand) (string-append (if who2620 "~a: " "") "~a " (if (null? subform2617) "in ~a" "in subform `~s' of `~s'")) (let ((tail2626 (cons message2619 (map (lambda (x2627) (strip1471 x2627 (quote (())))) (append subform2617 (list form2618)))))) (if who2620 (cons who2620 tail2626) tail2626)) #f)))) (letrec ((match2632 (lambda (e2633 p2634 w2635 r2636 mod2637) (if (not r2636) #f (if (eq? p2634 (quote any)) (cons (wrap1453 e2633 w2635 mod2637) r2636) (if (syntax-object?1409 e2633) (match*2631 (syntax-object-expression1410 e2633) p2634 (join-wraps1444 w2635 (syntax-object-wrap1411 e2633)) r2636 (syntax-object-module1412 e2633)) (match*2631 e2633 p2634 w2635 r2636 mod2637)))))) (match*2631 (lambda (e2638 p2639 w2640 r2641 mod2642) (if (null? p2639) (if (null? e2638) r2641 #f) (if (pair? p2639) (if (pair? e2638) (match2632 (car e2638) (car p2639) w2640 (match2632 (cdr e2638) (cdr p2639) w2640 r2641 mod2642) mod2642) #f) (if (eq? p2639 (quote each-any)) (let ((l2643 (match-each-any2629 e2638 w2640 mod2642))) (if l2643 (cons l2643 r2641) #f)) (let ((atom-key2644 (vector-ref p2639 0))) (if (memv atom-key2644 (quote (each))) (if (null? e2638) (match-empty2630 (vector-ref p2639 1) r2641) (let ((l2645 (match-each2628 e2638 (vector-ref p2639 1) w2640 mod2642))) (if l2645 (letrec ((collect2646 (lambda (l2647) (if (null? (car l2647)) r2641 (cons (map car l2647) (collect2646 (map cdr l2647))))))) (collect2646 l2645)) #f))) (if (memv atom-key2644 (quote (free-id))) (if (id?1425 e2638) (if (free-id=?1448 (wrap1453 e2638 w2640 mod2642) (vector-ref p2639 1)) r2641 #f) #f) (if (memv atom-key2644 (quote (atom))) (if (equal? (vector-ref p2639 1) (strip1471 e2638 w2640)) r2641 #f) (if (memv atom-key2644 (quote (vector))) (if (vector? e2638) (match2632 (vector->list e2638) (vector-ref p2639 1) w2640 r2641 mod2642) #f))))))))))) (match-empty2630 (lambda (p2648 r2649) (if (null? p2648) r2649 (if (eq? p2648 (quote any)) (cons (quote ()) r2649) (if (pair? p2648) (match-empty2630 (car p2648) (match-empty2630 (cdr p2648) r2649)) (if (eq? p2648 (quote each-any)) (cons (quote ()) r2649) (let ((atom-key2650 (vector-ref p2648 0))) (if (memv atom-key2650 (quote (each))) (match-empty2630 (vector-ref p2648 1) r2649) (if (memv atom-key2650 (quote (free-id atom))) r2649 (if (memv atom-key2650 (quote (vector))) (match-empty2630 (vector-ref p2648 1) r2649))))))))))) (match-each-any2629 (lambda (e2651 w2652 mod2653) (if (pair? e2651) (let ((l2654 (match-each-any2629 (cdr e2651) w2652 mod2653))) (if l2654 (cons (wrap1453 (car e2651) w2652 mod2653) l2654) #f)) (if (null? e2651) (quote ()) (if (syntax-object?1409 e2651) (match-each-any2629 (syntax-object-expression1410 e2651) (join-wraps1444 w2652 (syntax-object-wrap1411 e2651)) mod2653) #f))))) (match-each2628 (lambda (e2655 p2656 w2657 mod2658) (if (pair? e2655) (let ((first2659 (match2632 (car e2655) p2656 w2657 (quote ()) mod2658))) (if first2659 (let ((rest2660 (match-each2628 (cdr e2655) p2656 w2657 mod2658))) (if rest2660 (cons first2659 rest2660) #f)) #f)) (if (null? e2655) (quote ()) (if (syntax-object?1409 e2655) (match-each2628 (syntax-object-expression1410 e2655) p2656 (join-wraps1444 w2657 (syntax-object-wrap1411 e2655)) (syntax-object-module1412 e2655)) #f)))))) (set! $sc-dispatch (lambda (e2661 p2662) (if (eq? p2662 (quote any)) (list e2661) (if (syntax-object?1409 e2661) (match*2631 (syntax-object-expression1410 e2661) p2662 (syntax-object-wrap1411 e2661) (quote ()) (syntax-object-module1412 e2661)) (match*2631 e2661 p2662 (quote (())) (quote ()) #f)))))))))
-(define with-syntax (make-syncase-macro (quote macro) (lambda (x2663) ((lambda (tmp2664) ((lambda (tmp2665) (if tmp2665 (apply (lambda (_2666 e12667 e22668) (cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons e12667 e22668))) tmp2665) ((lambda (tmp2670) (if tmp2670 (apply (lambda (_2671 out2672 in2673 e12674 e22675) (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))) in2673 (quote ()) (list out2672 (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 e12674 e22675))))) tmp2670) ((lambda (tmp2677) (if tmp2677 (apply (lambda (_2678 out2679 in2680 e12681 e22682) (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))) in2680) (quote ()) (list out2679 (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 e12681 e22682))))) tmp2677) (syntax-violation #f "source expression failed to match any pattern" tmp2664))) ($sc-dispatch tmp2664 (quote (any #(each (any any)) any . each-any)))))) ($sc-dispatch tmp2664 (quote (any ((any any)) any . each-any)))))) ($sc-dispatch tmp2664 (quote (any () any . each-any))))) x2663))))
-(define syntax-rules (make-syncase-macro (quote macro) (lambda (x2686) ((lambda (tmp2687) ((lambda (tmp2688) (if tmp2688 (apply (lambda (_2689 k2690 keyword2691 pattern2692 template2693) (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 k2690 (map (lambda (tmp2696 tmp2695) (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))) tmp2695) (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))) tmp2696))) template2693 pattern2692)))))) tmp2688) (syntax-violation #f "source expression failed to match any pattern" tmp2687))) ($sc-dispatch tmp2687 (quote (any each-any . #(each ((any . any) any))))))) x2686))))
-(define let* (make-extended-syncase-macro (module-ref (current-module) (quote let*)) (quote macro) (lambda (x2697) ((lambda (tmp2698) ((lambda (tmp2699) (if (if tmp2699 (apply (lambda (let*2700 x2701 v2702 e12703 e22704) (and-map identifier? x2701)) tmp2699) #f) (apply (lambda (let*2706 x2707 v2708 e12709 e22710) (letrec ((f2711 (lambda (bindings2712) (if (null? bindings2712) (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 e12709 e22710))) ((lambda (tmp2716) ((lambda (tmp2717) (if tmp2717 (apply (lambda (body2718 binding2719) (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 binding2719) body2718)) tmp2717) (syntax-violation #f "source expression failed to match any pattern" tmp2716))) ($sc-dispatch tmp2716 (quote (any any))))) (list (f2711 (cdr bindings2712)) (car bindings2712))))))) (f2711 (map list x2707 v2708)))) tmp2699) (syntax-violation #f "source expression failed to match any pattern" tmp2698))) ($sc-dispatch tmp2698 (quote (any #(each (any any)) any . each-any))))) x2697))))
-(define do (make-extended-syncase-macro (module-ref (current-module) (quote do)) (quote macro) (lambda (orig-x2720) ((lambda (tmp2721) ((lambda (tmp2722) (if tmp2722 (apply (lambda (_2723 var2724 init2725 step2726 e02727 e12728 c2729) ((lambda (tmp2730) ((lambda (tmp2731) (if tmp2731 (apply (lambda (step2732) ((lambda (tmp2733) ((lambda (tmp2734) (if tmp2734 (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 var2724 init2725) (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))) e02727) (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 c2729 (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))) step2732))))))) tmp2734) ((lambda (tmp2739) (if tmp2739 (apply (lambda (e12740 e22741) (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 var2724 init2725) (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))) e02727 (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 e12740 e22741)) (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 c2729 (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))) step2732))))))) tmp2739) (syntax-violation #f "source expression failed to match any pattern" tmp2733))) ($sc-dispatch tmp2733 (quote (any . each-any)))))) ($sc-dispatch tmp2733 (quote ())))) e12728)) tmp2731) (syntax-violation #f "source expression failed to match any pattern" tmp2730))) ($sc-dispatch tmp2730 (quote each-any)))) (map (lambda (v2748 s2749) ((lambda (tmp2750) ((lambda (tmp2751) (if tmp2751 (apply (lambda () v2748) tmp2751) ((lambda (tmp2752) (if tmp2752 (apply (lambda (e2753) e2753) tmp2752) ((lambda (_2754) (syntax-violation (quote do) "bad step expression" orig-x2720 s2749)) tmp2750))) ($sc-dispatch tmp2750 (quote (any)))))) ($sc-dispatch tmp2750 (quote ())))) s2749)) var2724 step2726))) tmp2722) (syntax-violation #f "source expression failed to match any pattern" tmp2721))) ($sc-dispatch tmp2721 (quote (any #(each (any any . any)) (any . each-any) . each-any))))) orig-x2720))))
-(define quasiquote (make-extended-syncase-macro (module-ref (current-module) (quote quasiquote)) (quote macro) (letrec ((quasicons2757 (lambda (x2761 y2762) ((lambda (tmp2763) ((lambda (tmp2764) (if tmp2764 (apply (lambda (x2765 y2766) ((lambda (tmp2767) ((lambda (tmp2768) (if tmp2768 (apply (lambda (dy2769) ((lambda (tmp2770) ((lambda (tmp2771) (if tmp2771 (apply (lambda (dx2772) (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 dx2772 dy2769))) tmp2771) ((lambda (_2773) (if (null? dy2769) (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))) x2765) (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))) x2765 y2766))) tmp2770))) ($sc-dispatch tmp2770 (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))))) x2765)) tmp2768) ((lambda (tmp2774) (if tmp2774 (apply (lambda (stuff2775) (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 x2765 stuff2775))) tmp2774) ((lambda (else2776) (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))) x2765 y2766)) tmp2767))) ($sc-dispatch tmp2767 (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 tmp2767 (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))))) y2766)) tmp2764) (syntax-violation #f "source expression failed to match any pattern" tmp2763))) ($sc-dispatch tmp2763 (quote (any any))))) (list x2761 y2762)))) (quasiappend2758 (lambda (x2777 y2778) ((lambda (tmp2779) ((lambda (tmp2780) (if tmp2780 (apply (lambda (x2781 y2782) ((lambda (tmp2783) ((lambda (tmp2784) (if tmp2784 (apply (lambda () x2781) tmp2784) ((lambda (_2785) (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))) x2781 y2782)) tmp2783))) ($sc-dispatch tmp2783 (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))) ()))))) y2782)) tmp2780) (syntax-violation #f "source expression failed to match any pattern" tmp2779))) ($sc-dispatch tmp2779 (quote (any any))))) (list x2777 y2778)))) (quasivector2759 (lambda (x2786) ((lambda (tmp2787) ((lambda (x2788) ((lambda (tmp2789) ((lambda (tmp2790) (if tmp2790 (apply (lambda (x2791) (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 x2791))) tmp2790) ((lambda (tmp2793) (if tmp2793 (apply (lambda (x2794) (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))) x2794)) tmp2793) ((lambda (_2796) (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))) x2788)) tmp2789))) ($sc-dispatch tmp2789 (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 tmp2789 (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))))) x2788)) tmp2787)) x2786))) (quasi2760 (lambda (p2797 lev2798) ((lambda (tmp2799) ((lambda (tmp2800) (if tmp2800 (apply (lambda (p2801) (if (= lev2798 0) p2801 (quasicons2757 (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)))) (quasi2760 (list p2801) (- lev2798 1))))) tmp2800) ((lambda (tmp2802) (if (if tmp2802 (apply (lambda (args2803) (= lev2798 0)) tmp2802) #f) (apply (lambda (args2804) (syntax-violation (quote unquote) "unquote takes exactly one argument" p2797 (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))) args2804))) tmp2802) ((lambda (tmp2805) (if tmp2805 (apply (lambda (p2806 q2807) (if (= lev2798 0) (quasiappend2758 p2806 (quasi2760 q2807 lev2798)) (quasicons2757 (quasicons2757 (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)))) (quasi2760 (list p2806) (- lev2798 1))) (quasi2760 q2807 lev2798)))) tmp2805) ((lambda (tmp2808) (if (if tmp2808 (apply (lambda (args2809 q2810) (= lev2798 0)) tmp2808) #f) (apply (lambda (args2811 q2812) (syntax-violation (quote unquote-splicing) "unquote-splicing takes exactly one argument" p2797 (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))) args2811))) tmp2808) ((lambda (tmp2813) (if tmp2813 (apply (lambda (p2814) (quasicons2757 (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)))) (quasi2760 (list p2814) (+ lev2798 1)))) tmp2813) ((lambda (tmp2815) (if tmp2815 (apply (lambda (p2816 q2817) (quasicons2757 (quasi2760 p2816 lev2798) (quasi2760 q2817 lev2798))) tmp2815) ((lambda (tmp2818) (if tmp2818 (apply (lambda (x2819) (quasivector2759 (quasi2760 x2819 lev2798))) tmp2818) ((lambda (p2821) (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))) p2821)) tmp2799))) ($sc-dispatch tmp2799 (quote #(vector each-any)))))) ($sc-dispatch tmp2799 (quote (any . any)))))) ($sc-dispatch tmp2799 (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 tmp2799 (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 tmp2799 (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 tmp2799 (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 tmp2799 (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))))) p2797)))) (lambda (x2822) ((lambda (tmp2823) ((lambda (tmp2824) (if tmp2824 (apply (lambda (_2825 e2826) (quasi2760 e2826 0)) tmp2824) (syntax-violation #f "source expression failed to match any pattern" tmp2823))) ($sc-dispatch tmp2823 (quote (any any))))) x2822)))))
-(define include (make-syncase-macro (quote macro) (lambda (x2827) (letrec ((read-file2828 (lambda (fn2829 k2830) (let ((p2831 (open-input-file fn2829))) (letrec ((f2832 (lambda (x2833) (if (eof-object? x2833) (begin (close-input-port p2831) (quote ())) (cons (datum->syntax k2830 x2833) (f2832 (read p2831))))))) (f2832 (read p2831))))))) ((lambda (tmp2834) ((lambda (tmp2835) (if tmp2835 (apply (lambda (k2836 filename2837) (let ((fn2838 (syntax->datum filename2837))) ((lambda (tmp2839) ((lambda (tmp2840) (if tmp2840 (apply (lambda (exp2841) (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))) exp2841)) tmp2840) (syntax-violation #f "source expression failed to match any pattern" tmp2839))) ($sc-dispatch tmp2839 (quote each-any)))) (read-file2828 fn2838 k2836)))) tmp2835) (syntax-violation #f "source expression failed to match any pattern" tmp2834))) ($sc-dispatch tmp2834 (quote (any any))))) x2827)))))
-(define unquote (make-syncase-macro (quote macro) (lambda (x2843) ((lambda (tmp2844) ((lambda (tmp2845) (if tmp2845 (apply (lambda (_2846 e2847) (syntax-violation (quote unquote) "expression not valid outside of quasiquote" x2843)) tmp2845) (syntax-violation #f "source expression failed to match any pattern" tmp2844))) ($sc-dispatch tmp2844 (quote (any any))))) x2843))))
-(define unquote-splicing (make-syncase-macro (quote macro) (lambda (x2848) ((lambda (tmp2849) ((lambda (tmp2850) (if tmp2850 (apply (lambda (_2851 e2852) (syntax-violation (quote unquote-splicing) "expression not valid outside of quasiquote" x2848)) tmp2850) (syntax-violation #f "source expression failed to match any pattern" tmp2849))) ($sc-dispatch tmp2849 (quote (any any))))) x2848))))
-(define case (make-extended-syncase-macro (module-ref (current-module) (quote case)) (quote macro) (lambda (x2853) ((lambda (tmp2854) ((lambda (tmp2855) (if tmp2855 (apply (lambda (_2856 e2857 m12858 m22859) ((lambda (tmp2860) ((lambda (body2861) (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))) e2857)) body2861)) tmp2860)) (letrec ((f2862 (lambda (clause2863 clauses2864) (if (null? clauses2864) ((lambda (tmp2866) ((lambda (tmp2867) (if tmp2867 (apply (lambda (e12868 e22869) (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 e12868 e22869))) tmp2867) ((lambda (tmp2871) (if tmp2871 (apply (lambda (k2872 e12873 e22874) (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))) k2872)) (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 e12873 e22874)))) tmp2871) ((lambda (_2877) (syntax-violation (quote case) "bad clause" x2853 clause2863)) tmp2866))) ($sc-dispatch tmp2866 (quote (each-any any . each-any)))))) ($sc-dispatch tmp2866 (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))))) clause2863) ((lambda (tmp2878) ((lambda (rest2879) ((lambda (tmp2880) ((lambda (tmp2881) (if tmp2881 (apply (lambda (k2882 e12883 e22884) (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))) k2882)) (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 e12883 e22884)) rest2879)) tmp2881) ((lambda (_2887) (syntax-violation (quote case) "bad clause" x2853 clause2863)) tmp2880))) ($sc-dispatch tmp2880 (quote (each-any any . each-any))))) clause2863)) tmp2878)) (f2862 (car clauses2864) (cdr clauses2864))))))) (f2862 m12858 m22859)))) tmp2855) (syntax-violation #f "source expression failed to match any pattern" tmp2854))) ($sc-dispatch tmp2854 (quote (any any any . each-any))))) x2853))))
-(define identifier-syntax (make-syncase-macro (quote macro) (lambda (x2888) ((lambda (tmp2889) ((lambda (tmp2890) (if tmp2890 (apply (lambda (_2891 e2892) (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))) e2892)) (list (cons _2891 (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 e2892 (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)))))))))) tmp2890) (syntax-violation #f "source expression failed to match any pattern" tmp2889))) ($sc-dispatch tmp2889 (quote (any any))))) x2888))))
+(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-list162
+             (lambda (vars286)
+               (letrec ((lvl287
+                          (lambda (vars288 ls289 w290)
+                            (if (pair? vars288)
+                              (lvl287
+                                (cdr vars288)
+                                (cons (wrap142 (car vars288) w290 #f) ls289)
+                                w290)
+                              (if (id?114 vars288)
+                                (cons (wrap142 vars288 w290 #f) ls289)
+                                (if (null? vars288)
+                                  ls289
+                                  (if (syntax-object?98 vars288)
+                                    (lvl287
+                                      (syntax-object-expression99 vars288)
+                                      ls289
+                                      (join-wraps133
+                                        w290
+                                        (syntax-object-wrap100 vars288)))
+                                    (cons vars288 ls289))))))))
+                 (lvl287 vars286 (quote ()) (quote (()))))))
+           (gen-var161
+             (lambda (id291)
+               (let ((id292 (if (syntax-object?98 id291)
+                              (syntax-object-expression99 id291)
+                              id291)))
+                 (gensym (symbol->string id292)))))
+           (strip160
+             (lambda (x293 w294)
+               (if (memq (quote top) (wrap-marks117 w294))
+                 x293
+                 (letrec ((f295 (lambda (x296)
+                                  (if (syntax-object?98 x296)
+                                    (strip160
+                                      (syntax-object-expression99 x296)
+                                      (syntax-object-wrap100 x296))
+                                    (if (pair? x296)
+                                      (let ((a297 (f295 (car x296)))
+                                            (d298 (f295 (cdr x296))))
+                                        (if (if (eq? a297 (car x296))
+                                              (eq? d298 (cdr x296))
+                                              #f)
+                                          x296
+                                          (cons a297 d298)))
+                                      (if (vector? x296)
+                                        (let ((old299 (vector->list x296)))
+                                          (let ((new300 (map f295 old299)))
+                                            (if (and-map*17 eq? old299 new300)
+                                              x296
+                                              (list->vector new300))))
+                                        x296))))))
+                   (f295 x293)))))
+           (ellipsis?159
+             (lambda (x301)
+               (if (nonsymbol-id?113 x301)
+                 (free-id=?137
+                   x301
+                   '#(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-void158 (lambda () (build-void80 #f)))
+           (eval-local-transformer157
+             (lambda (expanded302 mod303)
+               (let ((p304 (local-eval-hook77 expanded302 mod303)))
+                 (if (procedure? p304)
+                   p304
+                   (syntax-violation
+                     #f
+                     "nonprocedure transformer"
+                     p304)))))
+           (chi-local-syntax156
+             (lambda (rec?305 e306 r307 w308 s309 mod310 k311)
+               ((lambda (tmp312)
+                  ((lambda (tmp313)
+                     (if tmp313
+                       (apply (lambda (_314 id315 val316 e1317 e2318)
+                                (let ((ids319 id315))
+                                  (if (not (valid-bound-ids?139 ids319))
+                                    (syntax-violation
+                                      #f
+                                      "duplicate bound keyword"
+                                      e306)
+                                    (let ((labels321 (gen-labels120 ids319)))
+                                      (let ((new-w322
+                                              (make-binding-wrap131
+                                                ids319
+                                                labels321
+                                                w308)))
+                                        (k311 (cons e1317 e2318)
+                                              (extend-env108
+                                                labels321
+                                                (let ((w324 (if rec?305
+                                                              new-w322
+                                                              w308))
+                                                      (trans-r325
+                                                        (macros-only-env110
+                                                          r307)))
+                                                  (map (lambda (x326)
+                                                         (cons 'macro
+                                                               (eval-local-transformer157
+                                                                 (chi150
+                                                                   x326
+                                                                   trans-r325
+                                                                   w324
+                                                                   mod310)
+                                                                 mod310)))
+                                                       val316))
+                                                r307)
+                                              new-w322
+                                              s309
+                                              mod310))))))
+                              tmp313)
+                       ((lambda (_328)
+                          (syntax-violation
+                            #f
+                            "bad local syntax definition"
+                            (source-wrap143 e306 w308 s309 mod310)))
+                        tmp312)))
+                   ($sc-dispatch
+                     tmp312
+                     '(any #(each (any any)) any . each-any))))
+                e306)))
+           (chi-lambda-clause155
+             (lambda (e329 docstring330 c331 r332 w333 mod334 k335)
+               ((lambda (tmp336)
+                  ((lambda (tmp337)
+                     (if (if tmp337
+                           (apply (lambda (args338 doc339 e1340 e2341)
+                                    (if (string? (syntax->datum doc339))
+                                      (not docstring330)
+                                      #f))
+                                  tmp337)
+                           #f)
+                       (apply (lambda (args342 doc343 e1344 e2345)
+                                (chi-lambda-clause155
+                                  e329
+                                  doc343
+                                  (cons args342 (cons e1344 e2345))
+                                  r332
+                                  w333
+                                  mod334
+                                  k335))
+                              tmp337)
+                       ((lambda (tmp347)
+                          (if tmp347
+                            (apply (lambda (id348 e1349 e2350)
+                                     (let ((ids351 id348))
+                                       (if (not (valid-bound-ids?139 ids351))
+                                         (syntax-violation
+                                           'lambda
+                                           "invalid parameter list"
+                                           e329)
+                                         (let ((labels353
+                                                 (gen-labels120 ids351))
+                                               (new-vars354
+                                                 (map gen-var161 ids351)))
+                                           (k335 (map syntax->datum ids351)
+                                                 new-vars354
+                                                 (if docstring330
+                                                   (syntax->datum docstring330)
+                                                   #f)
+                                                 (chi-body154
+                                                   (cons e1349 e2350)
+                                                   e329
+                                                   (extend-var-env109
+                                                     labels353
+                                                     new-vars354
+                                                     r332)
+                                                   (make-binding-wrap131
+                                                     ids351
+                                                     labels353
+                                                     w333)
+                                                   mod334))))))
+                                   tmp347)
+                            ((lambda (tmp356)
+                               (if tmp356
+                                 (apply (lambda (ids357 e1358 e2359)
+                                          (let ((old-ids360
+                                                  (lambda-var-list162 ids357)))
+                                            (if (not (valid-bound-ids?139
+                                                       old-ids360))
+                                              (syntax-violation
+                                                'lambda
+                                                "invalid parameter list"
+                                                e329)
+                                              (let ((labels361
+                                                      (gen-labels120
+                                                        old-ids360))
+                                                    (new-vars362
+                                                      (map gen-var161
+                                                           old-ids360)))
+                                                (k335 (letrec ((f363 (lambda (ls1364
+                                                                              ls2365)
+                                                                       (if (null? ls1364)
+                                                                         (syntax->datum
+                                                                           ls2365)
+                                                                         (f363 (cdr ls1364)
+                                                                               (cons (syntax->datum
+                                                                                       (car ls1364))
+                                                                                     ls2365))))))
+                                                        (f363 (cdr old-ids360)
+                                                              (car old-ids360)))
+                                                      (letrec ((f366 (lambda (ls1367
+                                                                              ls2368)
+                                                                       (if (null? ls1367)
+                                                                         ls2368
+                                                                         (f366 (cdr ls1367)
+                                                                               (cons (car ls1367)
+                                                                                     ls2368))))))
+                                                        (f366 (cdr new-vars362)
+                                                              (car new-vars362)))
+                                                      (if docstring330
+                                                        (syntax->datum
+                                                          docstring330)
+                                                        #f)
+                                                      (chi-body154
+                                                        (cons e1358 e2359)
+                                                        e329
+                                                        (extend-var-env109
+                                                          labels361
+                                                          new-vars362
+                                                          r332)
+                                                        (make-binding-wrap131
+                                                          old-ids360
+                                                          labels361
+                                                          w333)
+                                                        mod334))))))
+                                        tmp356)
+                                 ((lambda (_370)
+                                    (syntax-violation
+                                      'lambda
+                                      "bad lambda"
+                                      e329))
+                                  tmp336)))
+                             ($sc-dispatch
+                               tmp336
+                               '(any any . each-any)))))
+                        ($sc-dispatch
+                          tmp336
+                          '(each-any any . each-any)))))
+                   ($sc-dispatch
+                     tmp336
+                     '(any any any . each-any))))
+                c331)))
+           (chi-body154
+             (lambda (body371 outer-form372 r373 w374 mod375)
+               (let ((r376 (cons (quote ("placeholder" placeholder)) r373)))
+                 (let ((ribcage377
+                         (make-ribcage121
+                           '()
+                           '()
+                           '())))
+                   (let ((w378 (make-wrap116
+                                 (wrap-marks117 w374)
+                                 (cons ribcage377 (wrap-subst118 w374)))))
+                     (letrec ((parse379
+                                (lambda (body380
+                                         ids381
+                                         labels382
+                                         var-ids383
+                                         vars384
+                                         vals385
+                                         bindings386)
+                                  (if (null? body380)
+                                    (syntax-violation
+                                      #f
+                                      "no expressions in body"
+                                      outer-form372)
+                                    (let ((e388 (cdar body380))
+                                          (er389 (caar body380)))
+                                      (call-with-values
+                                        (lambda ()
+                                          (syntax-type148
+                                            e388
+                                            er389
+                                            '(())
+                                            (source-annotation105 er389)
+                                            ribcage377
+                                            mod375
+                                            #f))
+                                        (lambda (type390
+                                                 value391
+                                                 e392
+                                                 w393
+                                                 s394
+                                                 mod395)
+                                          (if (memv type390
+                                                    '(define-form))
+                                            (let ((id396 (wrap142
+                                                           value391
+                                                           w393
+                                                           mod395))
+                                                  (label397 (gen-label119)))
+                                              (let ((var398
+                                                      (gen-var161 id396)))
+                                                (begin
+                                                  (extend-ribcage!130
+                                                    ribcage377
+                                                    id396
+                                                    label397)
+                                                  (parse379
+                                                    (cdr body380)
+                                                    (cons id396 ids381)
+                                                    (cons label397 labels382)
+                                                    (cons id396 var-ids383)
+                                                    (cons var398 vars384)
+                                                    (cons (cons er389
+                                                                (wrap142
+                                                                  e392
+                                                                  w393
+                                                                  mod395))
+                                                          vals385)
+                                                    (cons (cons 'lexical
+                                                                var398)
+                                                          bindings386)))))
+                                            (if (memv type390
+                                                      '(define-syntax-form))
+                                              (let ((id399 (wrap142
+                                                             value391
+                                                             w393
+                                                             mod395))
+                                                    (label400 (gen-label119)))
+                                                (begin
+                                                  (extend-ribcage!130
+                                                    ribcage377
+                                                    id399
+                                                    label400)
+                                                  (parse379
+                                                    (cdr body380)
+                                                    (cons id399 ids381)
+                                                    (cons label400 labels382)
+                                                    var-ids383
+                                                    vars384
+                                                    vals385
+                                                    (cons (cons 'macro
+                                                                (cons er389
+                                                                      (wrap142
+                                                                        e392
+                                                                        w393
+                                                                        mod395)))
+                                                          bindings386))))
+                                              (if (memv type390
+                                                        '(begin-form))
+                                                ((lambda (tmp401)
+                                                   ((lambda (tmp402)
+                                                      (if tmp402
+                                                        (apply (lambda (_403
+                                                                        e1404)
+                                                                 (parse379
+                                                                   (letrec ((f405 (lambda (forms406)
+                                                                                    (if (null? forms406)
+                                                                                      (cdr body380)
+                                                                                      (cons (cons er389
+                                                                                                  (wrap142
+                                                                                                    (car forms406)
+                                                                                                    w393
+                                                                                                    mod395))
+                                                                                            (f405 (cdr forms406)))))))
+                                                                     (f405 e1404))
+                                                                   ids381
+                                                                   labels382
+                                                                   var-ids383
+                                                                   vars384
+                                                                   vals385
+                                                                   bindings386))
+                                                               tmp402)
+                                                        (syntax-violation
+                                                          #f
+                                                          "source expression failed to match any pattern"
+                                                          tmp401)))
+                                                    ($sc-dispatch
+                                                      tmp401
+                                                      '(any . each-any))))
+                                                 e392)
+                                                (if (memv type390
+                                                          '(local-syntax-form))
+                                                  (chi-local-syntax156
+                                                    value391
+                                                    e392
+                                                    er389
+                                                    w393
+                                                    s394
+                                                    mod395
+                                                    (lambda (forms408
+                                                             er409
+                                                             w410
+                                                             s411
+                                                             mod412)
+                                                      (parse379
+                                                        (letrec ((f413 (lambda (forms414)
+                                                                         (if (null? forms414)
+                                                                           (cdr body380)
+                                                                           (cons (cons er409
+                                                                                       (wrap142
+                                                                                         (car forms414)
+                                                                                         w410
+                                                                                         mod412))
+                                                                                 (f413 (cdr forms414)))))))
+                                                          (f413 forms408))
+                                                        ids381
+                                                        labels382
+                                                        var-ids383
+                                                        vars384
+                                                        vals385
+                                                        bindings386)))
+                                                  (if (null? ids381)
+                                                    (build-sequence93
+                                                      #f
+                                                      (map (lambda (x415)
+                                                             (chi150
+                                                               (cdr x415)
+                                                               (car x415)
+                                                               '(())
+                                                               mod395))
+                                                           (cons (cons er389
+                                                                       (source-wrap143
+                                                                         e392
+                                                                         w393
+                                                                         s394
+                                                                         mod395))
+                                                                 (cdr body380))))
+                                                    (begin
+                                                      (if (not (valid-bound-ids?139
+                                                                 ids381))
+                                                        (syntax-violation
+                                                          #f
+                                                          "invalid or duplicate identifier in definition"
+                                                          outer-form372))
+                                                      (letrec ((loop416
+                                                                 (lambda (bs417
+                                                                          er-cache418
+                                                                          r-cache419)
+                                                                   (if (not (null? bs417))
+                                                                     (let ((b420 (car bs417)))
+                                                                       (if (eq? (car b420)
+                                                                                'macro)
+                                                                         (let ((er421 (cadr b420)))
+                                                                           (let ((r-cache422
+                                                                                   (if (eq? er421
+                                                                                            er-cache418)
+                                                                                     r-cache419
+                                                                                     (macros-only-env110
+                                                                                       er421))))
+                                                                             (begin
+                                                                               (set-cdr!
+                                                                                 b420
+                                                                                 (eval-local-transformer157
+                                                                                   (chi150
+                                                                                     (cddr b420)
+                                                                                     r-cache422
+                                                                                     '(())
+                                                                                     mod395)
+                                                                                   mod395))
+                                                                               (loop416
+                                                                                 (cdr bs417)
+                                                                                 er421
+                                                                                 r-cache422))))
+                                                                         (loop416
+                                                                           (cdr bs417)
+                                                                           er-cache418
+                                                                           r-cache419)))))))
+                                                        (loop416
+                                                          bindings386
+                                                          #f
+                                                          #f))
+                                                      (set-cdr!
+                                                        r376
+                                                        (extend-env108
+                                                          labels382
+                                                          bindings386
+                                                          (cdr r376)))
+                                                      (build-letrec96
+                                                        #f
+                                                        (map syntax->datum
+                                                             var-ids383)
+                                                        vars384
+                                                        (map (lambda (x423)
+                                                               (chi150
+                                                                 (cdr x423)
+                                                                 (car x423)
+                                                                 '(())
+                                                                 mod395))
+                                                             vals385)
+                                                        (build-sequence93
+                                                          #f
+                                                          (map (lambda (x424)
+                                                                 (chi150
+                                                                   (cdr x424)
+                                                                   (car x424)
+                                                                   '(())
+                                                                   mod395))
+                                                               (cons (cons er389
+                                                                           (source-wrap143
+                                                                             e392
+                                                                             w393
+                                                                             s394
+                                                                             mod395))
+                                                                     (cdr body380))))))))))))))))))
+                       (parse379
+                         (map (lambda (x387)
+                                (cons r376 (wrap142 x387 w378 mod375)))
+                              body371)
+                         '()
+                         '()
+                         '()
+                         '()
+                         '()
+                         '())))))))
+           (chi-macro153
+             (lambda (p425 e426 r427 w428 rib429 mod430)
+               (letrec ((rebuild-macro-output431
+                          (lambda (x432 m433)
+                            (if (pair? x432)
+                              (cons (rebuild-macro-output431 (car x432) m433)
+                                    (rebuild-macro-output431 (cdr x432) m433))
+                              (if (syntax-object?98 x432)
+                                (let ((w434 (syntax-object-wrap100 x432)))
+                                  (let ((ms435 (wrap-marks117 w434))
+                                        (s436 (wrap-subst118 w434)))
+                                    (if (if (pair? ms435)
+                                          (eq? (car ms435) #f)
+                                          #f)
+                                      (make-syntax-object97
+                                        (syntax-object-expression99 x432)
+                                        (make-wrap116
+                                          (cdr ms435)
+                                          (if rib429
+                                            (cons rib429 (cdr s436))
+                                            (cdr s436)))
+                                        (syntax-object-module101 x432))
+                                      (make-syntax-object97
+                                        (syntax-object-expression99 x432)
+                                        (make-wrap116
+                                          (cons m433 ms435)
+                                          (if rib429
+                                            (cons rib429
+                                                  (cons (quote shift) s436))
+                                            (cons (quote shift) s436)))
+                                        (let ((pmod437
+                                                (procedure-module p425)))
+                                          (if pmod437
+                                            (cons 'hygiene
+                                                  (module-name pmod437))
+                                            '(hygiene guile)))))))
+                                (if (vector? x432)
+                                  (let ((n438 (vector-length x432)))
+                                    (let ((v439 (make-vector n438)))
+                                      (letrec ((loop440
+                                                 (lambda (i441)
+                                                   (if (fx=74 i441 n438)
+                                                     (begin (if #f #f) v439)
+                                                     (begin
+                                                       (vector-set!
+                                                         v439
+                                                         i441
+                                                         (rebuild-macro-output431
+                                                           (vector-ref
+                                                             x432
+                                                             i441)
+                                                           m433))
+                                                       (loop440
+                                                         (fx+72 i441 1)))))))
+                                        (loop440 0))))
+                                  (if (symbol? x432)
+                                    (syntax-violation
+                                      #f
+                                      "encountered raw symbol in macro output"
+                                      (source-wrap143 e426 w428 s mod430)
+                                      x432)
+                                    x432)))))))
+                 (rebuild-macro-output431
+                   (p425 (wrap142 e426 (anti-mark129 w428) mod430))
+                   (string #\m)))))
+           (chi-application152
+             (lambda (x442 e443 r444 w445 s446 mod447)
+               ((lambda (tmp448)
+                  ((lambda (tmp449)
+                     (if tmp449
+                       (apply (lambda (e0450 e1451)
+                                (build-application81
+                                  s446
+                                  x442
+                                  (map (lambda (e452)
+                                         (chi150 e452 r444 w445 mod447))
+                                       e1451)))
+                              tmp449)
+                       (syntax-violation
+                         #f
+                         "source expression failed to match any pattern"
+                         tmp448)))
+                   ($sc-dispatch tmp448 (quote (any . each-any)))))
+                e443)))
+           (chi-expr151
+             (lambda (type454 value455 e456 r457 w458 s459 mod460)
+               (if (memv type454 (quote (lexical)))
+                 (build-lexical-reference83
+                   'value
+                   s459
+                   e456
+                   value455)
+                 (if (memv type454 (quote (core core-form)))
+                   (value455 e456 r457 w458 s459 mod460)
+                   (if (memv type454 (quote (module-ref)))
+                     (call-with-values
+                       (lambda () (value455 e456))
+                       (lambda (id461 mod462)
+                         (build-global-reference86 s459 id461 mod462)))
+                     (if (memv type454 (quote (lexical-call)))
+                       (chi-application152
+                         (build-lexical-reference83
+                           'fun
+                           (source-annotation105 (car e456))
+                           (car e456)
+                           value455)
+                         e456
+                         r457
+                         w458
+                         s459
+                         mod460)
+                       (if (memv type454 (quote (global-call)))
+                         (chi-application152
+                           (build-global-reference86
+                             (source-annotation105 (car e456))
+                             (if (syntax-object?98 value455)
+                               (syntax-object-expression99 value455)
+                               value455)
+                             (if (syntax-object?98 value455)
+                               (syntax-object-module101 value455)
+                               mod460))
+                           e456
+                           r457
+                           w458
+                           s459
+                           mod460)
+                         (if (memv type454 (quote (constant)))
+                           (build-data92
+                             s459
+                             (strip160
+                               (source-wrap143 e456 w458 s459 mod460)
+                               '(())))
+                           (if (memv type454 (quote (global)))
+                             (build-global-reference86 s459 value455 mod460)
+                             (if (memv type454 (quote (call)))
+                               (chi-application152
+                                 (chi150 (car e456) r457 w458 mod460)
+                                 e456
+                                 r457
+                                 w458
+                                 s459
+                                 mod460)
+                               (if (memv type454 (quote (begin-form)))
+                                 ((lambda (tmp463)
+                                    ((lambda (tmp464)
+                                       (if tmp464
+                                         (apply (lambda (_465 e1466 e2467)
+                                                  (chi-sequence144
+                                                    (cons e1466 e2467)
+                                                    r457
+                                                    w458
+                                                    s459
+                                                    mod460))
+                                                tmp464)
+                                         (syntax-violation
+                                           #f
+                                           "source expression failed to match any pattern"
+                                           tmp463)))
+                                     ($sc-dispatch
+                                       tmp463
+                                       '(any any . each-any))))
+                                  e456)
+                                 (if (memv type454 (quote (local-syntax-form)))
+                                   (chi-local-syntax156
+                                     value455
+                                     e456
+                                     r457
+                                     w458
+                                     s459
+                                     mod460
+                                     chi-sequence144)
+                                   (if (memv type454 (quote (eval-when-form)))
+                                     ((lambda (tmp469)
+                                        ((lambda (tmp470)
+                                           (if tmp470
+                                             (apply (lambda (_471
+                                                             x472
+                                                             e1473
+                                                             e2474)
+                                                      (let ((when-list475
+                                                              (chi-when-list147
+                                                                e456
+                                                                x472
+                                                                w458)))
+                                                        (if (memq 'eval
+                                                                  when-list475)
+                                                          (chi-sequence144
+                                                            (cons e1473 e2474)
+                                                            r457
+                                                            w458
+                                                            s459
+                                                            mod460)
+                                                          (chi-void158))))
+                                                    tmp470)
+                                             (syntax-violation
+                                               #f
+                                               "source expression failed to match any pattern"
+                                               tmp469)))
+                                         ($sc-dispatch
+                                           tmp469
+                                           '(any each-any any . each-any))))
+                                      e456)
+                                     (if (memv type454
+                                               '(define-form
+                                                  define-syntax-form))
+                                       (syntax-violation
+                                         #f
+                                         "definition in expression context"
+                                         e456
+                                         (wrap142 value455 w458 mod460))
+                                       (if (memv type454 (quote (syntax)))
+                                         (syntax-violation
+                                           #f
+                                           "reference to pattern variable outside syntax form"
+                                           (source-wrap143
+                                             e456
+                                             w458
+                                             s459
+                                             mod460))
+                                         (if (memv type454
+                                                   '(displaced-lexical))
+                                           (syntax-violation
+                                             #f
+                                             "reference to identifier outside its scope"
+                                             (source-wrap143
+                                               e456
+                                               w458
+                                               s459
+                                               mod460))
+                                           (syntax-violation
+                                             #f
+                                             "unexpected syntax"
+                                             (source-wrap143
+                                               e456
+                                               w458
+                                               s459
+                                               mod460))))))))))))))))))
+           (chi150
+             (lambda (e478 r479 w480 mod481)
+               (call-with-values
+                 (lambda ()
+                   (syntax-type148
+                     e478
+                     r479
+                     w480
+                     (source-annotation105 e478)
+                     #f
+                     mod481
+                     #f))
+                 (lambda (type482 value483 e484 w485 s486 mod487)
+                   (chi-expr151
+                     type482
+                     value483
+                     e484
+                     r479
+                     w485
+                     s486
+                     mod487)))))
+           (chi-top149
+             (lambda (e488 r489 w490 m491 esew492 mod493)
+               (call-with-values
+                 (lambda ()
+                   (syntax-type148
+                     e488
+                     r489
+                     w490
+                     (source-annotation105 e488)
+                     #f
+                     mod493
+                     #f))
+                 (lambda (type501 value502 e503 w504 s505 mod506)
+                   (if (memv type501 (quote (begin-form)))
+                     ((lambda (tmp507)
+                        ((lambda (tmp508)
+                           (if tmp508
+                             (apply (lambda (_509) (chi-void158)) tmp508)
+                             ((lambda (tmp510)
+                                (if tmp510
+                                  (apply (lambda (_511 e1512 e2513)
+                                           (chi-top-sequence145
+                                             (cons e1512 e2513)
+                                             r489
+                                             w504
+                                             s505
+                                             m491
+                                             esew492
+                                             mod506))
+                                         tmp510)
+                                  (syntax-violation
+                                    #f
+                                    "source expression failed to match any pattern"
+                                    tmp507)))
+                              ($sc-dispatch
+                                tmp507
+                                '(any any . each-any)))))
+                         ($sc-dispatch tmp507 (quote (any)))))
+                      e503)
+                     (if (memv type501 (quote (local-syntax-form)))
+                       (chi-local-syntax156
+                         value502
+                         e503
+                         r489
+                         w504
+                         s505
+                         mod506
+                         (lambda (body515 r516 w517 s518 mod519)
+                           (chi-top-sequence145
+                             body515
+                             r516
+                             w517
+                             s518
+                             m491
+                             esew492
+                             mod519)))
+                       (if (memv type501 (quote (eval-when-form)))
+                         ((lambda (tmp520)
+                            ((lambda (tmp521)
+                               (if tmp521
+                                 (apply (lambda (_522 x523 e1524 e2525)
+                                          (let ((when-list526
+                                                  (chi-when-list147
+                                                    e503
+                                                    x523
+                                                    w504))
+                                                (body527 (cons e1524 e2525)))
+                                            (if (eq? m491 (quote e))
+                                              (if (memq 'eval
+                                                        when-list526)
+                                                (chi-top-sequence145
+                                                  body527
+                                                  r489
+                                                  w504
+                                                  s505
+                                                  'e
+                                                  '(eval)
+                                                  mod506)
+                                                (chi-void158))
+                                              (if (memq 'load
+                                                        when-list526)
+                                                (if (let ((t530 (memq 'compile
+                                                                      when-list526)))
+                                                      (if t530
+                                                        t530
+                                                        (if (eq? m491
+                                                                 'c&e)
+                                                          (memq 'eval
+                                                                when-list526)
+                                                          #f)))
+                                                  (chi-top-sequence145
+                                                    body527
+                                                    r489
+                                                    w504
+                                                    s505
+                                                    'c&e
+                                                    '(compile load)
+                                                    mod506)
+                                                  (if (memq m491
+                                                            '(c c&e))
+                                                    (chi-top-sequence145
+                                                      body527
+                                                      r489
+                                                      w504
+                                                      s505
+                                                      'c
+                                                      '(load)
+                                                      mod506)
+                                                    (chi-void158)))
+                                                (if (let ((t531 (memq 'compile
+                                                                      when-list526)))
+                                                      (if t531
+                                                        t531
+                                                        (if (eq? m491
+                                                                 'c&e)
+                                                          (memq 'eval
+                                                                when-list526)
+                                                          #f)))
+                                                  (begin
+                                                    (top-level-eval-hook76
+                                                      (chi-top-sequence145
+                                                        body527
+                                                        r489
+                                                        w504
+                                                        s505
+                                                        'e
+                                                        '(eval)
+                                                        mod506)
+                                                      mod506)
+                                                    (chi-void158))
+                                                  (chi-void158))))))
+                                        tmp521)
+                                 (syntax-violation
+                                   #f
+                                   "source expression failed to match any pattern"
+                                   tmp520)))
+                             ($sc-dispatch
+                               tmp520
+                               '(any each-any any . each-any))))
+                          e503)
+                         (if (memv type501 (quote (define-syntax-form)))
+                           (let ((n532 (id-var-name136 value502 w504))
+                                 (r533 (macros-only-env110 r489)))
+                             (if (memv m491 (quote (c)))
+                               (if (memq (quote compile) esew492)
+                                 (let ((e534 (chi-install-global146
+                                               n532
+                                               (chi150
+                                                 e503
+                                                 r533
+                                                 w504
+                                                 mod506))))
+                                   (begin
+                                     (top-level-eval-hook76 e534 mod506)
+                                     (if (memq (quote load) esew492)
+                                       e534
+                                       (chi-void158))))
+                                 (if (memq (quote load) esew492)
+                                   (chi-install-global146
+                                     n532
+                                     (chi150 e503 r533 w504 mod506))
+                                   (chi-void158)))
+                               (if (memv m491 (quote (c&e)))
+                                 (let ((e535 (chi-install-global146
+                                               n532
+                                               (chi150
+                                                 e503
+                                                 r533
+                                                 w504
+                                                 mod506))))
+                                   (begin
+                                     (top-level-eval-hook76 e535 mod506)
+                                     e535))
+                                 (begin
+                                   (if (memq (quote eval) esew492)
+                                     (top-level-eval-hook76
+                                       (chi-install-global146
+                                         n532
+                                         (chi150 e503 r533 w504 mod506))
+                                       mod506))
+                                   (chi-void158)))))
+                           (if (memv type501 (quote (define-form)))
+                             (let ((n536 (id-var-name136 value502 w504)))
+                               (let ((type537
+                                       (binding-type106
+                                         (lookup111 n536 r489 mod506))))
+                                 (if (memv type537
+                                           '(global core macro module-ref))
+                                   (begin
+                                     (if (if (not (module-local-variable
+                                                    (current-module)
+                                                    n536))
+                                           (current-module)
+                                           #f)
+                                       (module-define!
+                                         (current-module)
+                                         n536
+                                         #f))
+                                     (let ((x538 (build-global-definition89
+                                                   s505
+                                                   n536
+                                                   (chi150
+                                                     e503
+                                                     r489
+                                                     w504
+                                                     mod506))))
+                                       (begin
+                                         (if (eq? m491 (quote c&e))
+                                           (top-level-eval-hook76 x538 mod506))
+                                         x538)))
+                                   (if (memv type537
+                                             '(displaced-lexical))
+                                     (syntax-violation
+                                       #f
+                                       "identifier out of context"
+                                       e503
+                                       (wrap142 value502 w504 mod506))
+                                     (syntax-violation
+                                       #f
+                                       "cannot define keyword at top level"
+                                       e503
+                                       (wrap142 value502 w504 mod506))))))
+                             (let ((x539 (chi-expr151
+                                           type501
+                                           value502
+                                           e503
+                                           r489
+                                           w504
+                                           s505
+                                           mod506)))
+                               (begin
+                                 (if (eq? m491 (quote c&e))
+                                   (top-level-eval-hook76 x539 mod506))
+                                 x539)))))))))))
+           (syntax-type148
+             (lambda (e540 r541 w542 s543 rib544 mod545 for-car?546)
+               (if (symbol? e540)
+                 (let ((n547 (id-var-name136 e540 w542)))
+                   (let ((b548 (lookup111 n547 r541 mod545)))
+                     (let ((type549 (binding-type106 b548)))
+                       (if (memv type549 (quote (lexical)))
+                         (values
+                           type549
+                           (binding-value107 b548)
+                           e540
+                           w542
+                           s543
+                           mod545)
+                         (if (memv type549 (quote (global)))
+                           (values type549 n547 e540 w542 s543 mod545)
+                           (if (memv type549 (quote (macro)))
+                             (if for-car?546
+                               (values
+                                 type549
+                                 (binding-value107 b548)
+                                 e540
+                                 w542
+                                 s543
+                                 mod545)
+                               (syntax-type148
+                                 (chi-macro153
+                                   (binding-value107 b548)
+                                   e540
+                                   r541
+                                   w542
+                                   rib544
+                                   mod545)
+                                 r541
+                                 '(())
+                                 s543
+                                 rib544
+                                 mod545
+                                 #f))
+                             (values
+                               type549
+                               (binding-value107 b548)
+                               e540
+                               w542
+                               s543
+                               mod545)))))))
+                 (if (pair? e540)
+                   (let ((first550 (car e540)))
+                     (call-with-values
+                       (lambda ()
+                         (syntax-type148
+                           first550
+                           r541
+                           w542
+                           s543
+                           rib544
+                           mod545
+                           #t))
+                       (lambda (ftype551 fval552 fe553 fw554 fs555 fmod556)
+                         (if (memv ftype551 (quote (lexical)))
+                           (values
+                             'lexical-call
+                             fval552
+                             e540
+                             w542
+                             s543
+                             mod545)
+                           (if (memv ftype551 (quote (global)))
+                             (values
+                               'global-call
+                               (make-syntax-object97 fval552 w542 fmod556)
+                               e540
+                               w542
+                               s543
+                               mod545)
+                             (if (memv ftype551 (quote (macro)))
+                               (syntax-type148
+                                 (chi-macro153
+                                   fval552
+                                   e540
+                                   r541
+                                   w542
+                                   rib544
+                                   mod545)
+                                 r541
+                                 '(())
+                                 s543
+                                 rib544
+                                 mod545
+                                 for-car?546)
+                               (if (memv ftype551 (quote (module-ref)))
+                                 (call-with-values
+                                   (lambda () (fval552 e540))
+                                   (lambda (sym557 mod558)
+                                     (syntax-type148
+                                       sym557
+                                       r541
+                                       w542
+                                       s543
+                                       rib544
+                                       mod558
+                                       for-car?546)))
+                                 (if (memv ftype551 (quote (core)))
+                                   (values
+                                     'core-form
+                                     fval552
+                                     e540
+                                     w542
+                                     s543
+                                     mod545)
+                                   (if (memv ftype551 (quote (local-syntax)))
+                                     (values
+                                       'local-syntax-form
+                                       fval552
+                                       e540
+                                       w542
+                                       s543
+                                       mod545)
+                                     (if (memv ftype551 (quote (begin)))
+                                       (values
+                                         'begin-form
+                                         #f
+                                         e540
+                                         w542
+                                         s543
+                                         mod545)
+                                       (if (memv ftype551 (quote (eval-when)))
+                                         (values
+                                           'eval-when-form
+                                           #f
+                                           e540
+                                           w542
+                                           s543
+                                           mod545)
+                                         (if (memv ftype551 (quote (define)))
+                                           ((lambda (tmp559)
+                                              ((lambda (tmp560)
+                                                 (if (if tmp560
+                                                       (apply (lambda (_561
+                                                                       name562
+                                                                       val563)
+                                                                (id?114
+                                                                  name562))
+                                                              tmp560)
+                                                       #f)
+                                                   (apply (lambda (_564
+                                                                   name565
+                                                                   val566)
+                                                            (values
+                                                              'define-form
+                                                              name565
+                                                              val566
+                                                              w542
+                                                              s543
+                                                              mod545))
+                                                          tmp560)
+                                                   ((lambda (tmp567)
+                                                      (if (if tmp567
+                                                            (apply (lambda (_568
+                                                                            name569
+                                                                            args570
+                                                                            e1571
+                                                                            e2572)
+                                                                     (if (id?114
+                                                                           name569)
+                                                                       (valid-bound-ids?139
+                                                                         (lambda-var-list162
+                                                                           args570))
+                                                                       #f))
+                                                                   tmp567)
+                                                            #f)
+                                                        (apply (lambda (_573
+                                                                        name574
+                                                                        args575
+                                                                        e1576
+                                                                        e2577)
+                                                                 (values
+                                                                   'define-form
+                                                                   (wrap142
+                                                                     name574
+                                                                     w542
+                                                                     mod545)
+                                                                   (cons '#(syntax-object
+                                                                            lambda
+                                                                            ((top)
+                                                                             #(ribcage
+                                                                               #(_
+                                                                                 name
+                                                                                 args
+                                                                                 e1
+                                                                                 e2)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(ftype
+                                                                                 fval
+                                                                                 fe
+                                                                                 fw
+                                                                                 fs
+                                                                                 fmod)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(first)
+                                                                               #((top))
+                                                                               #("i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(e
+                                                                                 r
+                                                                                 w
+                                                                                 s
+                                                                                 rib
+                                                                                 mod
+                                                                                 for-car?)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               (lambda-var-list
+                                                                                 gen-var
+                                                                                 strip
+                                                                                 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))
+                                                                         (wrap142
+                                                                           (cons args575
+                                                                                 (cons e1576
+                                                                                       e2577))
+                                                                           w542
+                                                                           mod545))
+                                                                   '(())
+                                                                   s543
+                                                                   mod545))
+                                                               tmp567)
+                                                        ((lambda (tmp579)
+                                                           (if (if tmp579
+                                                                 (apply (lambda (_580
+                                                                                 name581)
+                                                                          (id?114
+                                                                            name581))
+                                                                        tmp579)
+                                                                 #f)
+                                                             (apply (lambda (_582
+                                                                             name583)
+                                                                      (values
+                                                                        'define-form
+                                                                        (wrap142
+                                                                          name583
+                                                                          w542
+                                                                          mod545)
+                                                                        '(#(syntax-object
+                                                                            if
+                                                                            ((top)
+                                                                             #(ribcage
+                                                                               #(_
+                                                                                 name)
+                                                                               #((top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(ftype
+                                                                                 fval
+                                                                                 fe
+                                                                                 fw
+                                                                                 fs
+                                                                                 fmod)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(first)
+                                                                               #((top))
+                                                                               #("i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(e
+                                                                                 r
+                                                                                 w
+                                                                                 s
+                                                                                 rib
+                                                                                 mod
+                                                                                 for-car?)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               (lambda-var-list
+                                                                                 gen-var
+                                                                                 strip
+                                                                                 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
+                                                                               #(ftype
+                                                                                 fval
+                                                                                 fe
+                                                                                 fw
+                                                                                 fs
+                                                                                 fmod)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(first)
+                                                                               #((top))
+                                                                               #("i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(e
+                                                                                 r
+                                                                                 w
+                                                                                 s
+                                                                                 rib
+                                                                                 mod
+                                                                                 for-car?)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               (lambda-var-list
+                                                                                 gen-var
+                                                                                 strip
+                                                                                 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
+                                                                               #(ftype
+                                                                                 fval
+                                                                                 fe
+                                                                                 fw
+                                                                                 fs
+                                                                                 fmod)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(first)
+                                                                               #((top))
+                                                                               #("i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(e
+                                                                                 r
+                                                                                 w
+                                                                                 s
+                                                                                 rib
+                                                                                 mod
+                                                                                 for-car?)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               (lambda-var-list
+                                                                                 gen-var
+                                                                                 strip
+                                                                                 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)))
+                                                                        '(())
+                                                                        s543
+                                                                        mod545))
+                                                                    tmp579)
+                                                             (syntax-violation
+                                                               #f
+                                                               "source expression failed to match any pattern"
+                                                               tmp559)))
+                                                         ($sc-dispatch
+                                                           tmp559
+                                                           '(any any)))))
+                                                    ($sc-dispatch
+                                                      tmp559
+                                                      '(any (any . any)
+                                                            any
+                                                            .
+                                                            each-any)))))
+                                               ($sc-dispatch
+                                                 tmp559
+                                                 '(any any any))))
+                                            e540)
+                                           (if (memv ftype551
+                                                     '(define-syntax))
+                                             ((lambda (tmp584)
+                                                ((lambda (tmp585)
+                                                   (if (if tmp585
+                                                         (apply (lambda (_586
+                                                                         name587
+                                                                         val588)
+                                                                  (id?114
+                                                                    name587))
+                                                                tmp585)
+                                                         #f)
+                                                     (apply (lambda (_589
+                                                                     name590
+                                                                     val591)
+                                                              (values
+                                                                'define-syntax-form
+                                                                name590
+                                                                val591
+                                                                w542
+                                                                s543
+                                                                mod545))
+                                                            tmp585)
+                                                     (syntax-violation
+                                                       #f
+                                                       "source expression failed to match any pattern"
+                                                       tmp584)))
+                                                 ($sc-dispatch
+                                                   tmp584
+                                                   '(any any any))))
+                                              e540)
+                                             (values
+                                               'call
+                                               #f
+                                               e540
+                                               w542
+                                               s543
+                                               mod545))))))))))))))
+                   (if (syntax-object?98 e540)
+                     (syntax-type148
+                       (syntax-object-expression99 e540)
+                       r541
+                       (join-wraps133 w542 (syntax-object-wrap100 e540))
+                       s543
+                       rib544
+                       (let ((t592 (syntax-object-module101 e540)))
+                         (if t592 t592 mod545))
+                       for-car?546)
+                     (if (self-evaluating? e540)
+                       (values
+                         'constant
+                         #f
+                         e540
+                         w542
+                         s543
+                         mod545)
+                       (values (quote other) #f e540 w542 s543 mod545)))))))
+           (chi-when-list147
+             (lambda (e593 when-list594 w595)
+               (letrec ((f596 (lambda (when-list597 situations598)
+                                (if (null? when-list597)
+                                  situations598
+                                  (f596 (cdr when-list597)
+                                        (cons (let ((x599 (car when-list597)))
+                                                (if (free-id=?137
+                                                      x599
+                                                      '#(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)))
+                                                  'compile
+                                                  (if (free-id=?137
+                                                        x599
+                                                        '#(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)))
+                                                    'load
+                                                    (if (free-id=?137
+                                                          x599
+                                                          '#(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)))
+                                                      'eval
+                                                      (syntax-violation
+                                                        'eval-when
+                                                        "invalid situation"
+                                                        e593
+                                                        (wrap142
+                                                          x599
+                                                          w595
+                                                          #f))))))
+                                              situations598))))))
+                 (f596 when-list594 (quote ())))))
+           (chi-install-global146
+             (lambda (name600 e601)
+               (build-global-definition89
+                 #f
+                 name600
+                 (if (let ((v602 (module-variable (current-module) name600)))
+                       (if v602
+                         (if (variable-bound? v602)
+                           (if (macro? (variable-ref v602))
+                             (not (eq? (macro-type (variable-ref v602))
+                                       'syncase-macro))
+                             #f)
+                           #f)
+                         #f))
+                   (build-application81
+                     #f
+                     (build-primref91
+                       #f
+                       'make-extended-syncase-macro)
+                     (list (build-application81
+                             #f
+                             (build-primref91 #f (quote module-ref))
+                             (list (build-application81
+                                     #f
+                                     (build-primref91
+                                       #f
+                                       'current-module)
+                                     '())
+                                   (build-data92 #f name600)))
+                           (build-data92 #f (quote macro))
+                           e601))
+                   (build-application81
+                     #f
+                     (build-primref91 #f (quote make-syncase-macro))
+                     (list (build-data92 #f (quote macro)) e601))))))
+           (chi-top-sequence145
+             (lambda (body603 r604 w605 s606 m607 esew608 mod609)
+               (build-sequence93
+                 s606
+                 (letrec ((dobody610
+                            (lambda (body611 r612 w613 m614 esew615 mod616)
+                              (if (null? body611)
+                                '()
+                                (let ((first617
+                                        (chi-top149
+                                          (car body611)
+                                          r612
+                                          w613
+                                          m614
+                                          esew615
+                                          mod616)))
+                                  (cons first617
+                                        (dobody610
+                                          (cdr body611)
+                                          r612
+                                          w613
+                                          m614
+                                          esew615
+                                          mod616)))))))
+                   (dobody610 body603 r604 w605 m607 esew608 mod609)))))
+           (chi-sequence144
+             (lambda (body618 r619 w620 s621 mod622)
+               (build-sequence93
+                 s621
+                 (letrec ((dobody623
+                            (lambda (body624 r625 w626 mod627)
+                              (if (null? body624)
+                                '()
+                                (let ((first628
+                                        (chi150
+                                          (car body624)
+                                          r625
+                                          w626
+                                          mod627)))
+                                  (cons first628
+                                        (dobody623
+                                          (cdr body624)
+                                          r625
+                                          w626
+                                          mod627)))))))
+                   (dobody623 body618 r619 w620 mod622)))))
+           (source-wrap143
+             (lambda (x629 w630 s631 defmod632)
+               (begin
+                 (if (if s631 (pair? x629) #f)
+                   (set-source-properties! x629 s631))
+                 (wrap142 x629 w630 defmod632))))
+           (wrap142
+             (lambda (x633 w634 defmod635)
+               (if (if (null? (wrap-marks117 w634))
+                     (null? (wrap-subst118 w634))
+                     #f)
+                 x633
+                 (if (syntax-object?98 x633)
+                   (make-syntax-object97
+                     (syntax-object-expression99 x633)
+                     (join-wraps133 w634 (syntax-object-wrap100 x633))
+                     (syntax-object-module101 x633))
+                   (if (null? x633)
+                     x633
+                     (make-syntax-object97 x633 w634 defmod635))))))
+           (bound-id-member?141
+             (lambda (x636 list637)
+               (if (not (null? list637))
+                 (let ((t638 (bound-id=?138 x636 (car list637))))
+                   (if t638
+                     t638
+                     (bound-id-member?141 x636 (cdr list637))))
+                 #f)))
+           (distinct-bound-ids?140
+             (lambda (ids639)
+               (letrec ((distinct?640
+                          (lambda (ids641)
+                            (let ((t642 (null? ids641)))
+                              (if t642
+                                t642
+                                (if (not (bound-id-member?141
+                                           (car ids641)
+                                           (cdr ids641)))
+                                  (distinct?640 (cdr ids641))
+                                  #f))))))
+                 (distinct?640 ids639))))
+           (valid-bound-ids?139
+             (lambda (ids643)
+               (if (letrec ((all-ids?644
+                              (lambda (ids645)
+                                (let ((t646 (null? ids645)))
+                                  (if t646
+                                    t646
+                                    (if (id?114 (car ids645))
+                                      (all-ids?644 (cdr ids645))
+                                      #f))))))
+                     (all-ids?644 ids643))
+                 (distinct-bound-ids?140 ids643)
+                 #f)))
+           (bound-id=?138
+             (lambda (i647 j648)
+               (if (if (syntax-object?98 i647)
+                     (syntax-object?98 j648)
+                     #f)
+                 (if (eq? (syntax-object-expression99 i647)
+                          (syntax-object-expression99 j648))
+                   (same-marks?135
+                     (wrap-marks117 (syntax-object-wrap100 i647))
+                     (wrap-marks117 (syntax-object-wrap100 j648)))
+                   #f)
+                 (eq? i647 j648))))
+           (free-id=?137
+             (lambda (i649 j650)
+               (if (eq? (let ((x651 i649))
+                          (if (syntax-object?98 x651)
+                            (syntax-object-expression99 x651)
+                            x651))
+                        (let ((x652 j650))
+                          (if (syntax-object?98 x652)
+                            (syntax-object-expression99 x652)
+                            x652)))
+                 (eq? (id-var-name136 i649 (quote (())))
+                      (id-var-name136 j650 (quote (()))))
+                 #f)))
+           (id-var-name136
+             (lambda (id653 w654)
+               (letrec ((search-vector-rib657
+                          (lambda (sym663
+                                   subst664
+                                   marks665
+                                   symnames666
+                                   ribcage667)
+                            (let ((n668 (vector-length symnames666)))
+                              (letrec ((f669 (lambda (i670)
+                                               (if (fx=74 i670 n668)
+                                                 (search655
+                                                   sym663
+                                                   (cdr subst664)
+                                                   marks665)
+                                                 (if (if (eq? (vector-ref
+                                                                symnames666
+                                                                i670)
+                                                              sym663)
+                                                       (same-marks?135
+                                                         marks665
+                                                         (vector-ref
+                                                           (ribcage-marks124
+                                                             ribcage667)
+                                                           i670))
+                                                       #f)
+                                                   (values
+                                                     (vector-ref
+                                                       (ribcage-labels125
+                                                         ribcage667)
+                                                       i670)
+                                                     marks665)
+                                                   (f669 (fx+72 i670 1)))))))
+                                (f669 0)))))
+                        (search-list-rib656
+                          (lambda (sym671
+                                   subst672
+                                   marks673
+                                   symnames674
+                                   ribcage675)
+                            (letrec ((f676 (lambda (symnames677 i678)
+                                             (if (null? symnames677)
+                                               (search655
+                                                 sym671
+                                                 (cdr subst672)
+                                                 marks673)
+                                               (if (if (eq? (car symnames677)
+                                                            sym671)
+                                                     (same-marks?135
+                                                       marks673
+                                                       (list-ref
+                                                         (ribcage-marks124
+                                                           ribcage675)
+                                                         i678))
+                                                     #f)
+                                                 (values
+                                                   (list-ref
+                                                     (ribcage-labels125
+                                                       ribcage675)
+                                                     i678)
+                                                   marks673)
+                                                 (f676 (cdr symnames677)
+                                                       (fx+72 i678 1)))))))
+                              (f676 symnames674 0))))
+                        (search655
+                          (lambda (sym679 subst680 marks681)
+                            (if (null? subst680)
+                              (values #f marks681)
+                              (let ((fst682 (car subst680)))
+                                (if (eq? fst682 (quote shift))
+                                  (search655
+                                    sym679
+                                    (cdr subst680)
+                                    (cdr marks681))
+                                  (let ((symnames683
+                                          (ribcage-symnames123 fst682)))
+                                    (if (vector? symnames683)
+                                      (search-vector-rib657
+                                        sym679
+                                        subst680
+                                        marks681
+                                        symnames683
+                                        fst682)
+                                      (search-list-rib656
+                                        sym679
+                                        subst680
+                                        marks681
+                                        symnames683
+                                        fst682)))))))))
+                 (if (symbol? id653)
+                   (let ((t684 (call-with-values
+                                 (lambda ()
+                                   (search655
+                                     id653
+                                     (wrap-subst118 w654)
+                                     (wrap-marks117 w654)))
+                                 (lambda (x686 . ignore685) x686))))
+                     (if t684 t684 id653))
+                   (if (syntax-object?98 id653)
+                     (let ((id687 (syntax-object-expression99 id653))
+                           (w1688 (syntax-object-wrap100 id653)))
+                       (let ((marks689
+                               (join-marks134
+                                 (wrap-marks117 w654)
+                                 (wrap-marks117 w1688))))
+                         (call-with-values
+                           (lambda ()
+                             (search655 id687 (wrap-subst118 w654) marks689))
+                           (lambda (new-id690 marks691)
+                             (let ((t692 new-id690))
+                               (if t692
+                                 t692
+                                 (let ((t693 (call-with-values
+                                               (lambda ()
+                                                 (search655
+                                                   id687
+                                                   (wrap-subst118 w1688)
+                                                   marks691))
+                                               (lambda (x695 . ignore694)
+                                                 x695))))
+                                   (if t693 t693 id687))))))))
+                     (syntax-violation
+                       'id-var-name
+                       "invalid id"
+                       id653))))))
+           (same-marks?135
+             (lambda (x696 y697)
+               (let ((t698 (eq? x696 y697)))
+                 (if t698
+                   t698
+                   (if (not (null? x696))
+                     (if (not (null? y697))
+                       (if (eq? (car x696) (car y697))
+                         (same-marks?135 (cdr x696) (cdr y697))
+                         #f)
+                       #f)
+                     #f)))))
+           (join-marks134
+             (lambda (m1699 m2700)
+               (smart-append132 m1699 m2700)))
+           (join-wraps133
+             (lambda (w1701 w2702)
+               (let ((m1703 (wrap-marks117 w1701))
+                     (s1704 (wrap-subst118 w1701)))
+                 (if (null? m1703)
+                   (if (null? s1704)
+                     w2702
+                     (make-wrap116
+                       (wrap-marks117 w2702)
+                       (smart-append132 s1704 (wrap-subst118 w2702))))
+                   (make-wrap116
+                     (smart-append132 m1703 (wrap-marks117 w2702))
+                     (smart-append132 s1704 (wrap-subst118 w2702)))))))
+           (smart-append132
+             (lambda (m1705 m2706)
+               (if (null? m2706) m1705 (append m1705 m2706))))
+           (make-binding-wrap131
+             (lambda (ids707 labels708 w709)
+               (if (null? ids707)
+                 w709
+                 (make-wrap116
+                   (wrap-marks117 w709)
+                   (cons (let ((labelvec710 (list->vector labels708)))
+                           (let ((n711 (vector-length labelvec710)))
+                             (let ((symnamevec712 (make-vector n711))
+                                   (marksvec713 (make-vector n711)))
+                               (begin
+                                 (letrec ((f714 (lambda (ids715 i716)
+                                                  (if (not (null? ids715))
+                                                    (call-with-values
+                                                      (lambda ()
+                                                        (id-sym-name&marks115
+                                                          (car ids715)
+                                                          w709))
+                                                      (lambda (symname717
+                                                               marks718)
+                                                        (begin
+                                                          (vector-set!
+                                                            symnamevec712
+                                                            i716
+                                                            symname717)
+                                                          (vector-set!
+                                                            marksvec713
+                                                            i716
+                                                            marks718)
+                                                          (f714 (cdr ids715)
+                                                                (fx+72 i716
+                                                                       1)))))))))
+                                   (f714 ids707 0))
+                                 (make-ribcage121
+                                   symnamevec712
+                                   marksvec713
+                                   labelvec710)))))
+                         (wrap-subst118 w709))))))
+           (extend-ribcage!130
+             (lambda (ribcage719 id720 label721)
+               (begin
+                 (set-ribcage-symnames!126
+                   ribcage719
+                   (cons (syntax-object-expression99 id720)
+                         (ribcage-symnames123 ribcage719)))
+                 (set-ribcage-marks!127
+                   ribcage719
+                   (cons (wrap-marks117 (syntax-object-wrap100 id720))
+                         (ribcage-marks124 ribcage719)))
+                 (set-ribcage-labels!128
+                   ribcage719
+                   (cons label721 (ribcage-labels125 ribcage719))))))
+           (anti-mark129
+             (lambda (w722)
+               (make-wrap116
+                 (cons #f (wrap-marks117 w722))
+                 (cons (quote shift) (wrap-subst118 w722)))))
+           (set-ribcage-labels!128
+             (lambda (x723 update724)
+               (vector-set! x723 3 update724)))
+           (set-ribcage-marks!127
+             (lambda (x725 update726)
+               (vector-set! x725 2 update726)))
+           (set-ribcage-symnames!126
+             (lambda (x727 update728)
+               (vector-set! x727 1 update728)))
+           (ribcage-labels125
+             (lambda (x729) (vector-ref x729 3)))
+           (ribcage-marks124
+             (lambda (x730) (vector-ref x730 2)))
+           (ribcage-symnames123
+             (lambda (x731) (vector-ref x731 1)))
+           (ribcage?122
+             (lambda (x732)
+               (if (vector? x732)
+                 (if (= (vector-length x732) 4)
+                   (eq? (vector-ref x732 0) (quote ribcage))
+                   #f)
+                 #f)))
+           (make-ribcage121
+             (lambda (symnames733 marks734 labels735)
+               (vector
+                 'ribcage
+                 symnames733
+                 marks734
+                 labels735)))
+           (gen-labels120
+             (lambda (ls736)
+               (if (null? ls736)
+                 '()
+                 (cons (gen-label119) (gen-labels120 (cdr ls736))))))
+           (gen-label119 (lambda () (string #\i)))
+           (wrap-subst118 cdr)
+           (wrap-marks117 car)
+           (make-wrap116 cons)
+           (id-sym-name&marks115
+             (lambda (x737 w738)
+               (if (syntax-object?98 x737)
+                 (values
+                   (syntax-object-expression99 x737)
+                   (join-marks134
+                     (wrap-marks117 w738)
+                     (wrap-marks117 (syntax-object-wrap100 x737))))
+                 (values x737 (wrap-marks117 w738)))))
+           (id?114
+             (lambda (x739)
+               (if (symbol? x739)
+                 #t
+                 (if (syntax-object?98 x739)
+                   (symbol? (syntax-object-expression99 x739))
+                   #f))))
+           (nonsymbol-id?113
+             (lambda (x740)
+               (if (syntax-object?98 x740)
+                 (symbol? (syntax-object-expression99 x740))
+                 #f)))
+           (global-extend112
+             (lambda (type741 sym742 val743)
+               (put-global-definition-hook78
+                 sym742
+                 type741
+                 val743)))
+           (lookup111
+             (lambda (x744 r745 mod746)
+               (let ((t747 (assq x744 r745)))
+                 (if t747
+                   (cdr t747)
+                   (if (symbol? x744)
+                     (let ((t748 (get-global-definition-hook79 x744 mod746)))
+                       (if t748 t748 (quote (global))))
+                     '(displaced-lexical))))))
+           (macros-only-env110
+             (lambda (r749)
+               (if (null? r749)
+                 '()
+                 (let ((a750 (car r749)))
+                   (if (eq? (cadr a750) (quote macro))
+                     (cons a750 (macros-only-env110 (cdr r749)))
+                     (macros-only-env110 (cdr r749)))))))
+           (extend-var-env109
+             (lambda (labels751 vars752 r753)
+               (if (null? labels751)
+                 r753
+                 (extend-var-env109
+                   (cdr labels751)
+                   (cdr vars752)
+                   (cons (cons (car labels751)
+                               (cons (quote lexical) (car vars752)))
+                         r753)))))
+           (extend-env108
+             (lambda (labels754 bindings755 r756)
+               (if (null? labels754)
+                 r756
+                 (extend-env108
+                   (cdr labels754)
+                   (cdr bindings755)
+                   (cons (cons (car labels754) (car bindings755))
+                         r756)))))
+           (binding-value107 cdr)
+           (binding-type106 car)
+           (source-annotation105
+             (lambda (x757)
+               (if (syntax-object?98 x757)
+                 (source-annotation105
+                   (syntax-object-expression99 x757))
+                 (if (pair? x757)
+                   (let ((props758 (source-properties x757)))
+                     (if (pair? props758) props758 #f))
+                   #f))))
+           (set-syntax-object-module!104
+             (lambda (x759 update760)
+               (vector-set! x759 3 update760)))
+           (set-syntax-object-wrap!103
+             (lambda (x761 update762)
+               (vector-set! x761 2 update762)))
+           (set-syntax-object-expression!102
+             (lambda (x763 update764)
+               (vector-set! x763 1 update764)))
+           (syntax-object-module101
+             (lambda (x765) (vector-ref x765 3)))
+           (syntax-object-wrap100
+             (lambda (x766) (vector-ref x766 2)))
+           (syntax-object-expression99
+             (lambda (x767) (vector-ref x767 1)))
+           (syntax-object?98
+             (lambda (x768)
+               (if (vector? x768)
+                 (if (= (vector-length x768) 4)
+                   (eq? (vector-ref x768 0) (quote syntax-object))
+                   #f)
+                 #f)))
+           (make-syntax-object97
+             (lambda (expression769 wrap770 module771)
+               (vector
+                 'syntax-object
+                 expression769
+                 wrap770
+                 module771)))
+           (build-letrec96
+             (lambda (src772 ids773 vars774 val-exps775 body-exp776)
+               (if (null? vars774)
+                 body-exp776
+                 (let ((atom-key777 (fluid-ref *mode*71)))
+                   (if (memv atom-key777 (quote (c)))
+                     (begin
+                       (for-each maybe-name-value!88 ids773 val-exps775)
+                       ((@ (language tree-il) make-letrec)
+                        src772
+                        ids773
+                        vars774
+                        val-exps775
+                        body-exp776))
+                     (list 'letrec
+                           (map list vars774 val-exps775)
+                           body-exp776))))))
+           (build-named-let95
+             (lambda (src778 ids779 vars780 val-exps781 body-exp782)
+               (let ((f783 (car vars780))
+                     (f-name784 (car ids779))
+                     (vars785 (cdr vars780))
+                     (ids786 (cdr ids779)))
+                 (let ((atom-key787 (fluid-ref *mode*71)))
+                   (if (memv atom-key787 (quote (c)))
+                     (let ((proc788
+                             (build-lambda90
+                               src778
+                               ids786
+                               vars785
+                               #f
+                               body-exp782)))
+                       (begin
+                         (maybe-name-value!88 f-name784 proc788)
+                         (for-each maybe-name-value!88 ids786 val-exps781)
+                         ((@ (language tree-il) make-letrec)
+                          src778
+                          (list f-name784)
+                          (list f783)
+                          (list proc788)
+                          (build-application81
+                            src778
+                            (build-lexical-reference83
+                              'fun
+                              src778
+                              f-name784
+                              f783)
+                            val-exps781))))
+                     (list 'let
+                           f783
+                           (map list vars785 val-exps781)
+                           body-exp782))))))
+           (build-let94
+             (lambda (src789 ids790 vars791 val-exps792 body-exp793)
+               (if (null? vars791)
+                 body-exp793
+                 (let ((atom-key794 (fluid-ref *mode*71)))
+                   (if (memv atom-key794 (quote (c)))
+                     (begin
+                       (for-each maybe-name-value!88 ids790 val-exps792)
+                       ((@ (language tree-il) make-let)
+                        src789
+                        ids790
+                        vars791
+                        val-exps792
+                        body-exp793))
+                     (list 'let
+                           (map list vars791 val-exps792)
+                           body-exp793))))))
+           (build-sequence93
+             (lambda (src795 exps796)
+               (if (null? (cdr exps796))
+                 (car exps796)
+                 (let ((atom-key797 (fluid-ref *mode*71)))
+                   (if (memv atom-key797 (quote (c)))
+                     ((@ (language tree-il) make-sequence)
+                      src795
+                      exps796)
+                     (cons (quote begin) exps796))))))
+           (build-data92
+             (lambda (src798 exp799)
+               (let ((atom-key800 (fluid-ref *mode*71)))
+                 (if (memv atom-key800 (quote (c)))
+                   ((@ (language tree-il) make-const) src798 exp799)
+                   (if (if (self-evaluating? exp799)
+                         (not (vector? exp799))
+                         #f)
+                     exp799
+                     (list (quote quote) exp799))))))
+           (build-primref91
+             (lambda (src801 name802)
+               (if (equal?
+                     (module-name (current-module))
+                     '(guile))
+                 (let ((atom-key803 (fluid-ref *mode*71)))
+                   (if (memv atom-key803 (quote (c)))
+                     ((@ (language tree-il) make-toplevel-ref)
+                      src801
+                      name802)
+                     name802))
+                 (let ((atom-key804 (fluid-ref *mode*71)))
+                   (if (memv atom-key804 (quote (c)))
+                     ((@ (language tree-il) make-module-ref)
+                      src801
+                      '(guile)
+                      name802
+                      #f)
+                     (list (quote @@) (quote (guile)) name802))))))
+           (build-lambda90
+             (lambda (src805 ids806 vars807 docstring808 exp809)
+               (let ((atom-key810 (fluid-ref *mode*71)))
+                 (if (memv atom-key810 (quote (c)))
+                   ((@ (language tree-il) make-lambda)
+                    src805
+                    ids806
+                    vars807
+                    (if docstring808
+                      (list (cons (quote documentation) docstring808))
+                      '())
+                    exp809)
+                   (cons 'lambda
+                         (cons vars807
+                               (append
+                                 (if docstring808
+                                   (list docstring808)
+                                   '())
+                                 (list exp809))))))))
+           (build-global-definition89
+             (lambda (source811 var812 exp813)
+               (let ((atom-key814 (fluid-ref *mode*71)))
+                 (if (memv atom-key814 (quote (c)))
+                   (begin
+                     (maybe-name-value!88 var812 exp813)
+                     ((@ (language tree-il) make-toplevel-define)
+                      source811
+                      var812
+                      exp813))
+                   (list (quote define) var812 exp813)))))
+           (maybe-name-value!88
+             (lambda (name815 val816)
+               (if ((@ (language tree-il) lambda?) val816)
+                 (let ((meta817
+                         ((@ (language tree-il) lambda-meta) val816)))
+                   (if (not (assq (quote name) meta817))
+                     ((setter (@ (language tree-il) lambda-meta))
+                      val816
+                      (acons (quote name) name815 meta817)))))))
+           (build-global-assignment87
+             (lambda (source818 var819 exp820 mod821)
+               (analyze-variable85
+                 mod821
+                 var819
+                 (lambda (mod822 var823 public?824)
+                   (let ((atom-key825 (fluid-ref *mode*71)))
+                     (if (memv atom-key825 (quote (c)))
+                       ((@ (language tree-il) make-module-set)
+                        source818
+                        mod822
+                        var823
+                        public?824
+                        exp820)
+                       (list 'set!
+                             (list (if public?824 (quote @) (quote @@))
+                                   mod822
+                                   var823)
+                             exp820))))
+                 (lambda (var826)
+                   (let ((atom-key827 (fluid-ref *mode*71)))
+                     (if (memv atom-key827 (quote (c)))
+                       ((@ (language tree-il) make-toplevel-set)
+                        source818
+                        var826
+                        exp820)
+                       (list (quote set!) var826 exp820)))))))
+           (build-global-reference86
+             (lambda (source828 var829 mod830)
+               (analyze-variable85
+                 mod830
+                 var829
+                 (lambda (mod831 var832 public?833)
+                   (let ((atom-key834 (fluid-ref *mode*71)))
+                     (if (memv atom-key834 (quote (c)))
+                       ((@ (language tree-il) make-module-ref)
+                        source828
+                        mod831
+                        var832
+                        public?833)
+                       (list (if public?833 (quote @) (quote @@))
+                             mod831
+                             var832))))
+                 (lambda (var835)
+                   (let ((atom-key836 (fluid-ref *mode*71)))
+                     (if (memv atom-key836 (quote (c)))
+                       ((@ (language tree-il) make-toplevel-ref)
+                        source828
+                        var835)
+                       var835))))))
+           (analyze-variable85
+             (lambda (mod837 var838 modref-cont839 bare-cont840)
+               (if (not mod837)
+                 (bare-cont840 var838)
+                 (let ((kind841 (car mod837)) (mod842 (cdr mod837)))
+                   (if (memv kind841 (quote (public)))
+                     (modref-cont839 mod842 var838 #t)
+                     (if (memv kind841 (quote (private)))
+                       (if (not (equal? mod842 (module-name (current-module))))
+                         (modref-cont839 mod842 var838 #f)
+                         (bare-cont840 var838))
+                       (if (memv kind841 (quote (bare)))
+                         (bare-cont840 var838)
+                         (if (memv kind841 (quote (hygiene)))
+                           (if (if (not (equal?
+                                          mod842
+                                          (module-name (current-module))))
+                                 (module-variable
+                                   (resolve-module mod842)
+                                   var838)
+                                 #f)
+                             (modref-cont839 mod842 var838 #f)
+                             (bare-cont840 var838))
+                           (syntax-violation
+                             #f
+                             "bad module kind"
+                             var838
+                             mod842)))))))))
+           (build-lexical-assignment84
+             (lambda (source843 name844 var845 exp846)
+               (let ((atom-key847 (fluid-ref *mode*71)))
+                 (if (memv atom-key847 (quote (c)))
+                   ((@ (language tree-il) make-lexical-set)
+                    source843
+                    name844
+                    var845
+                    exp846)
+                   (list (quote set!) var845 exp846)))))
+           (build-lexical-reference83
+             (lambda (type848 source849 name850 var851)
+               (let ((atom-key852 (fluid-ref *mode*71)))
+                 (if (memv atom-key852 (quote (c)))
+                   ((@ (language tree-il) make-lexical-ref)
+                    source849
+                    name850
+                    var851)
+                   var851))))
+           (build-conditional82
+             (lambda (source853 test-exp854 then-exp855 else-exp856)
+               (let ((atom-key857 (fluid-ref *mode*71)))
+                 (if (memv atom-key857 (quote (c)))
+                   ((@ (language tree-il) make-conditional)
+                    source853
+                    test-exp854
+                    then-exp855
+                    else-exp856)
+                   (if (equal? else-exp856 (quote (if #f #f)))
+                     (list (quote if) test-exp854 then-exp855)
+                     (list 'if
+                           test-exp854
+                           then-exp855
+                           else-exp856))))))
+           (build-application81
+             (lambda (source858 fun-exp859 arg-exps860)
+               (let ((atom-key861 (fluid-ref *mode*71)))
+                 (if (memv atom-key861 (quote (c)))
+                   ((@ (language tree-il) make-application)
+                    source858
+                    fun-exp859
+                    arg-exps860)
+                   (cons fun-exp859 arg-exps860)))))
+           (build-void80
+             (lambda (source862)
+               (let ((atom-key863 (fluid-ref *mode*71)))
+                 (if (memv atom-key863 (quote (c)))
+                   ((@ (language tree-il) make-void) source862)
+                   '(if #f #f)))))
+           (get-global-definition-hook79
+             (lambda (symbol864 module865)
+               (begin
+                 (if (if (not module865) (current-module) #f)
+                   (warn "module system is booted, we should have a module"
+                         symbol864))
+                 (let ((v866 (module-variable
+                               (if module865
+                                 (resolve-module (cdr module865))
+                                 (current-module))
+                               symbol864)))
+                   (if v866
+                     (if (variable-bound? v866)
+                       (let ((val867 (variable-ref v866)))
+                         (if (macro? val867)
+                           (if (syncase-macro-type val867)
+                             (cons (syncase-macro-type val867)
+                                   (syncase-macro-binding val867))
+                             #f)
+                           #f))
+                       #f)
+                     #f)))))
+           (put-global-definition-hook78
+             (lambda (symbol868 type869 val870)
+               (let ((existing871
+                       (let ((v872 (module-variable
+                                     (current-module)
+                                     symbol868)))
+                         (if v872
+                           (if (variable-bound? v872)
+                             (let ((val873 (variable-ref v872)))
+                               (if (macro? val873)
+                                 (if (not (syncase-macro-type val873))
+                                   val873
+                                   #f)
+                                 #f))
+                             #f)
+                           #f))))
+                 (module-define!
+                   (current-module)
+                   symbol868
+                   (if existing871
+                     (make-extended-syncase-macro
+                       existing871
+                       type869
+                       val870)
+                     (make-syncase-macro type869 val870))))))
+           (local-eval-hook77
+             (lambda (x874 mod875)
+               (primitive-eval
+                 (list noexpand70
+                       (let ((atom-key876 (fluid-ref *mode*71)))
+                         (if (memv atom-key876 (quote (c)))
+                           ((@ (language tree-il) tree-il->scheme) x874)
+                           x874))))))
+           (top-level-eval-hook76
+             (lambda (x877 mod878)
+               (primitive-eval
+                 (list noexpand70
+                       (let ((atom-key879 (fluid-ref *mode*71)))
+                         (if (memv atom-key879 (quote (c)))
+                           ((@ (language tree-il) tree-il->scheme) x877)
+                           x877))))))
+           (fx<75 <)
+           (fx=74 =)
+           (fx-73 -)
+           (fx+72 +)
+           (*mode*71 (make-fluid))
+           (noexpand70 "noexpand"))
+    (begin
+      (global-extend112
+        'local-syntax
+        'letrec-syntax
+        #t)
+      (global-extend112
+        'local-syntax
+        'let-syntax
+        #f)
+      (global-extend112
+        'core
+        'fluid-let-syntax
+        (lambda (e880 r881 w882 s883 mod884)
+          ((lambda (tmp885)
+             ((lambda (tmp886)
+                (if (if tmp886
+                      (apply (lambda (_887 var888 val889 e1890 e2891)
+                               (valid-bound-ids?139 var888))
+                             tmp886)
+                      #f)
+                  (apply (lambda (_893 var894 val895 e1896 e2897)
+                           (let ((names898
+                                   (map (lambda (x899)
+                                          (id-var-name136 x899 w882))
+                                        var894)))
+                             (begin
+                               (for-each
+                                 (lambda (id901 n902)
+                                   (let ((atom-key903
+                                           (binding-type106
+                                             (lookup111 n902 r881 mod884))))
+                                     (if (memv atom-key903
+                                               '(displaced-lexical))
+                                       (syntax-violation
+                                         'fluid-let-syntax
+                                         "identifier out of context"
+                                         e880
+                                         (source-wrap143
+                                           id901
+                                           w882
+                                           s883
+                                           mod884)))))
+                                 var894
+                                 names898)
+                               (chi-body154
+                                 (cons e1896 e2897)
+                                 (source-wrap143 e880 w882 s883 mod884)
+                                 (extend-env108
+                                   names898
+                                   (let ((trans-r906
+                                           (macros-only-env110 r881)))
+                                     (map (lambda (x907)
+                                            (cons 'macro
+                                                  (eval-local-transformer157
+                                                    (chi150
+                                                      x907
+                                                      trans-r906
+                                                      w882
+                                                      mod884)
+                                                    mod884)))
+                                          val895))
+                                   r881)
+                                 w882
+                                 mod884))))
+                         tmp886)
+                  ((lambda (_909)
+                     (syntax-violation
+                       'fluid-let-syntax
+                       "bad syntax"
+                       (source-wrap143 e880 w882 s883 mod884)))
+                   tmp885)))
+              ($sc-dispatch
+                tmp885
+                '(any #(each (any any)) any . each-any))))
+           e880)))
+      (global-extend112
+        'core
+        'quote
+        (lambda (e910 r911 w912 s913 mod914)
+          ((lambda (tmp915)
+             ((lambda (tmp916)
+                (if tmp916
+                  (apply (lambda (_917 e918)
+                           (build-data92 s913 (strip160 e918 w912)))
+                         tmp916)
+                  ((lambda (_919)
+                     (syntax-violation
+                       'quote
+                       "bad syntax"
+                       (source-wrap143 e910 w912 s913 mod914)))
+                   tmp915)))
+              ($sc-dispatch tmp915 (quote (any any)))))
+           e910)))
+      (global-extend112
+        'core
+        'syntax
+        (letrec ((regen927
+                   (lambda (x928)
+                     (let ((atom-key929 (car x928)))
+                       (if (memv atom-key929 (quote (ref)))
+                         (build-lexical-reference83
+                           'value
+                           #f
+                           (cadr x928)
+                           (cadr x928))
+                         (if (memv atom-key929 (quote (primitive)))
+                           (build-primref91 #f (cadr x928))
+                           (if (memv atom-key929 (quote (quote)))
+                             (build-data92 #f (cadr x928))
+                             (if (memv atom-key929 (quote (lambda)))
+                               (build-lambda90
+                                 #f
+                                 (cadr x928)
+                                 (cadr x928)
+                                 #f
+                                 (regen927 (caddr x928)))
+                               (build-application81
+                                 #f
+                                 (build-primref91 #f (car x928))
+                                 (map regen927 (cdr x928))))))))))
+                 (gen-vector926
+                   (lambda (x930)
+                     (if (eq? (car x930) (quote list))
+                       (cons (quote vector) (cdr x930))
+                       (if (eq? (car x930) (quote quote))
+                         (list (quote quote) (list->vector (cadr x930)))
+                         (list (quote list->vector) x930)))))
+                 (gen-append925
+                   (lambda (x931 y932)
+                     (if (equal? y932 (quote (quote ())))
+                       x931
+                       (list (quote append) x931 y932))))
+                 (gen-cons924
+                   (lambda (x933 y934)
+                     (let ((atom-key935 (car y934)))
+                       (if (memv atom-key935 (quote (quote)))
+                         (if (eq? (car x933) (quote quote))
+                           (list 'quote
+                                 (cons (cadr x933) (cadr y934)))
+                           (if (eq? (cadr y934) (quote ()))
+                             (list (quote list) x933)
+                             (list (quote cons) x933 y934)))
+                         (if (memv atom-key935 (quote (list)))
+                           (cons (quote list) (cons x933 (cdr y934)))
+                           (list (quote cons) x933 y934))))))
+                 (gen-map923
+                   (lambda (e936 map-env937)
+                     (let ((formals938 (map cdr map-env937))
+                           (actuals939
+                             (map (lambda (x940) (list (quote ref) (car x940)))
+                                  map-env937)))
+                       (if (eq? (car e936) (quote ref))
+                         (car actuals939)
+                         (if (and-map
+                               (lambda (x941)
+                                 (if (eq? (car x941) (quote ref))
+                                   (memq (cadr x941) formals938)
+                                   #f))
+                               (cdr e936))
+                           (cons 'map
+                                 (cons (list (quote primitive) (car e936))
+                                       (map (let ((r942 (map cons
+                                                             formals938
+                                                             actuals939)))
+                                              (lambda (x943)
+                                                (cdr (assq (cadr x943) r942))))
+                                            (cdr e936))))
+                           (cons 'map
+                                 (cons (list (quote lambda) formals938 e936)
+                                       actuals939)))))))
+                 (gen-mappend922
+                   (lambda (e944 map-env945)
+                     (list 'apply
+                           '(primitive append)
+                           (gen-map923 e944 map-env945))))
+                 (gen-ref921
+                   (lambda (src946 var947 level948 maps949)
+                     (if (fx=74 level948 0)
+                       (values var947 maps949)
+                       (if (null? maps949)
+                         (syntax-violation
+                           'syntax
+                           "missing ellipsis"
+                           src946)
+                         (call-with-values
+                           (lambda ()
+                             (gen-ref921
+                               src946
+                               var947
+                               (fx-73 level948 1)
+                               (cdr maps949)))
+                           (lambda (outer-var950 outer-maps951)
+                             (let ((b952 (assq outer-var950 (car maps949))))
+                               (if b952
+                                 (values (cdr b952) maps949)
+                                 (let ((inner-var953 (gen-var161 (quote tmp))))
+                                   (values
+                                     inner-var953
+                                     (cons (cons (cons outer-var950
+                                                       inner-var953)
+                                                 (car maps949))
+                                           outer-maps951)))))))))))
+                 (gen-syntax920
+                   (lambda (src954 e955 r956 maps957 ellipsis?958 mod959)
+                     (if (id?114 e955)
+                       (let ((label960 (id-var-name136 e955 (quote (())))))
+                         (let ((b961 (lookup111 label960 r956 mod959)))
+                           (if (eq? (binding-type106 b961) (quote syntax))
+                             (call-with-values
+                               (lambda ()
+                                 (let ((var.lev962 (binding-value107 b961)))
+                                   (gen-ref921
+                                     src954
+                                     (car var.lev962)
+                                     (cdr var.lev962)
+                                     maps957)))
+                               (lambda (var963 maps964)
+                                 (values (list (quote ref) var963) maps964)))
+                             (if (ellipsis?958 e955)
+                               (syntax-violation
+                                 'syntax
+                                 "misplaced ellipsis"
+                                 src954)
+                               (values (list (quote quote) e955) maps957)))))
+                       ((lambda (tmp965)
+                          ((lambda (tmp966)
+                             (if (if tmp966
+                                   (apply (lambda (dots967 e968)
+                                            (ellipsis?958 dots967))
+                                          tmp966)
+                                   #f)
+                               (apply (lambda (dots969 e970)
+                                        (gen-syntax920
+                                          src954
+                                          e970
+                                          r956
+                                          maps957
+                                          (lambda (x971) #f)
+                                          mod959))
+                                      tmp966)
+                               ((lambda (tmp972)
+                                  (if (if tmp972
+                                        (apply (lambda (x973 dots974 y975)
+                                                 (ellipsis?958 dots974))
+                                               tmp972)
+                                        #f)
+                                    (apply (lambda (x976 dots977 y978)
+                                             (letrec ((f979 (lambda (y980 k981)
+                                                              ((lambda (tmp985)
+                                                                 ((lambda (tmp986)
+                                                                    (if (if tmp986
+                                                                          (apply (lambda (dots987
+                                                                                          y988)
+                                                                                   (ellipsis?958
+                                                                                     dots987))
+                                                                                 tmp986)
+                                                                          #f)
+                                                                      (apply (lambda (dots989
+                                                                                      y990)
+                                                                               (f979 y990
+                                                                                     (lambda (maps991)
+                                                                                       (call-with-values
+                                                                                         (lambda ()
+                                                                                           (k981 (cons '()
+                                                                                                       maps991)))
+                                                                                         (lambda (x992
+                                                                                                  maps993)
+                                                                                           (if (null? (car maps993))
+                                                                                             (syntax-violation
+                                                                                               'syntax
+                                                                                               "extra ellipsis"
+                                                                                               src954)
+                                                                                             (values
+                                                                                               (gen-mappend922
+                                                                                                 x992
+                                                                                                 (car maps993))
+                                                                                               (cdr maps993))))))))
+                                                                             tmp986)
+                                                                      ((lambda (_994)
+                                                                         (call-with-values
+                                                                           (lambda ()
+                                                                             (gen-syntax920
+                                                                               src954
+                                                                               y980
+                                                                               r956
+                                                                               maps957
+                                                                               ellipsis?958
+                                                                               mod959))
+                                                                           (lambda (y995
+                                                                                    maps996)
+                                                                             (call-with-values
+                                                                               (lambda ()
+                                                                                 (k981 maps996))
+                                                                               (lambda (x997
+                                                                                        maps998)
+                                                                                 (values
+                                                                                   (gen-append925
+                                                                                     x997
+                                                                                     y995)
+                                                                                   maps998))))))
+                                                                       tmp985)))
+                                                                  ($sc-dispatch
+                                                                    tmp985
+                                                                    '(any .
+                                                                          any))))
+                                                               y980))))
+                                               (f979 y978
+                                                     (lambda (maps982)
+                                                       (call-with-values
+                                                         (lambda ()
+                                                           (gen-syntax920
+                                                             src954
+                                                             x976
+                                                             r956
+                                                             (cons '()
+                                                                   maps982)
+                                                             ellipsis?958
+                                                             mod959))
+                                                         (lambda (x983 maps984)
+                                                           (if (null? (car maps984))
+                                                             (syntax-violation
+                                                               'syntax
+                                                               "extra ellipsis"
+                                                               src954)
+                                                             (values
+                                                               (gen-map923
+                                                                 x983
+                                                                 (car maps984))
+                                                               (cdr maps984)))))))))
+                                           tmp972)
+                                    ((lambda (tmp999)
+                                       (if tmp999
+                                         (apply (lambda (x1000 y1001)
+                                                  (call-with-values
+                                                    (lambda ()
+                                                      (gen-syntax920
+                                                        src954
+                                                        x1000
+                                                        r956
+                                                        maps957
+                                                        ellipsis?958
+                                                        mod959))
+                                                    (lambda (x1002 maps1003)
+                                                      (call-with-values
+                                                        (lambda ()
+                                                          (gen-syntax920
+                                                            src954
+                                                            y1001
+                                                            r956
+                                                            maps1003
+                                                            ellipsis?958
+                                                            mod959))
+                                                        (lambda (y1004
+                                                                 maps1005)
+                                                          (values
+                                                            (gen-cons924
+                                                              x1002
+                                                              y1004)
+                                                            maps1005))))))
+                                                tmp999)
+                                         ((lambda (tmp1006)
+                                            (if tmp1006
+                                              (apply (lambda (e11007 e21008)
+                                                       (call-with-values
+                                                         (lambda ()
+                                                           (gen-syntax920
+                                                             src954
+                                                             (cons e11007
+                                                                   e21008)
+                                                             r956
+                                                             maps957
+                                                             ellipsis?958
+                                                             mod959))
+                                                         (lambda (e1010
+                                                                  maps1011)
+                                                           (values
+                                                             (gen-vector926
+                                                               e1010)
+                                                             maps1011))))
+                                                     tmp1006)
+                                              ((lambda (_1012)
+                                                 (values
+                                                   (list (quote quote) e955)
+                                                   maps957))
+                                               tmp965)))
+                                          ($sc-dispatch
+                                            tmp965
+                                            '#(vector (any . each-any))))))
+                                     ($sc-dispatch
+                                       tmp965
+                                       '(any . any)))))
+                                ($sc-dispatch
+                                  tmp965
+                                  '(any any . any)))))
+                           ($sc-dispatch tmp965 (quote (any any)))))
+                        e955)))))
+          (lambda (e1013 r1014 w1015 s1016 mod1017)
+            (let ((e1018 (source-wrap143 e1013 w1015 s1016 mod1017)))
+              ((lambda (tmp1019)
+                 ((lambda (tmp1020)
+                    (if tmp1020
+                      (apply (lambda (_1021 x1022)
+                               (call-with-values
+                                 (lambda ()
+                                   (gen-syntax920
+                                     e1018
+                                     x1022
+                                     r1014
+                                     '()
+                                     ellipsis?159
+                                     mod1017))
+                                 (lambda (e1023 maps1024) (regen927 e1023))))
+                             tmp1020)
+                      ((lambda (_1025)
+                         (syntax-violation
+                           'syntax
+                           "bad `syntax' form"
+                           e1018))
+                       tmp1019)))
+                  ($sc-dispatch tmp1019 (quote (any any)))))
+               e1018)))))
+      (global-extend112
+        'core
+        'lambda
+        (lambda (e1026 r1027 w1028 s1029 mod1030)
+          ((lambda (tmp1031)
+             ((lambda (tmp1032)
+                (if tmp1032
+                  (apply (lambda (_1033 c1034)
+                           (chi-lambda-clause155
+                             (source-wrap143 e1026 w1028 s1029 mod1030)
+                             #f
+                             c1034
+                             r1027
+                             w1028
+                             mod1030
+                             (lambda (names1035
+                                      vars1036
+                                      docstring1037
+                                      body1038)
+                               (build-lambda90
+                                 s1029
+                                 names1035
+                                 vars1036
+                                 docstring1037
+                                 body1038))))
+                         tmp1032)
+                  (syntax-violation
+                    #f
+                    "source expression failed to match any pattern"
+                    tmp1031)))
+              ($sc-dispatch tmp1031 (quote (any . any)))))
+           e1026)))
+      (global-extend112
+        'core
+        'let
+        (letrec ((chi-let1039
+                   (lambda (e1040
+                            r1041
+                            w1042
+                            s1043
+                            mod1044
+                            constructor1045
+                            ids1046
+                            vals1047
+                            exps1048)
+                     (if (not (valid-bound-ids?139 ids1046))
+                       (syntax-violation
+                         'let
+                         "duplicate bound variable"
+                         e1040)
+                       (let ((labels1049 (gen-labels120 ids1046))
+                             (new-vars1050 (map gen-var161 ids1046)))
+                         (let ((nw1051
+                                 (make-binding-wrap131
+                                   ids1046
+                                   labels1049
+                                   w1042))
+                               (nr1052
+                                 (extend-var-env109
+                                   labels1049
+                                   new-vars1050
+                                   r1041)))
+                           (constructor1045
+                             s1043
+                             (map syntax->datum ids1046)
+                             new-vars1050
+                             (map (lambda (x1053)
+                                    (chi150 x1053 r1041 w1042 mod1044))
+                                  vals1047)
+                             (chi-body154
+                               exps1048
+                               (source-wrap143 e1040 nw1051 s1043 mod1044)
+                               nr1052
+                               nw1051
+                               mod1044))))))))
+          (lambda (e1054 r1055 w1056 s1057 mod1058)
+            ((lambda (tmp1059)
+               ((lambda (tmp1060)
+                  (if (if tmp1060
+                        (apply (lambda (_1061 id1062 val1063 e11064 e21065)
+                                 (and-map id?114 id1062))
+                               tmp1060)
+                        #f)
+                    (apply (lambda (_1067 id1068 val1069 e11070 e21071)
+                             (chi-let1039
+                               e1054
+                               r1055
+                               w1056
+                               s1057
+                               mod1058
+                               build-let94
+                               id1068
+                               val1069
+                               (cons e11070 e21071)))
+                           tmp1060)
+                    ((lambda (tmp1075)
+                       (if (if tmp1075
+                             (apply (lambda (_1076
+                                             f1077
+                                             id1078
+                                             val1079
+                                             e11080
+                                             e21081)
+                                      (if (id?114 f1077)
+                                        (and-map id?114 id1078)
+                                        #f))
+                                    tmp1075)
+                             #f)
+                         (apply (lambda (_1083
+                                         f1084
+                                         id1085
+                                         val1086
+                                         e11087
+                                         e21088)
+                                  (chi-let1039
+                                    e1054
+                                    r1055
+                                    w1056
+                                    s1057
+                                    mod1058
+                                    build-named-let95
+                                    (cons f1084 id1085)
+                                    val1086
+                                    (cons e11087 e21088)))
+                                tmp1075)
+                         ((lambda (_1092)
+                            (syntax-violation
+                              'let
+                              "bad let"
+                              (source-wrap143 e1054 w1056 s1057 mod1058)))
+                          tmp1059)))
+                     ($sc-dispatch
+                       tmp1059
+                       '(any any #(each (any any)) any . each-any)))))
+                ($sc-dispatch
+                  tmp1059
+                  '(any #(each (any any)) any . each-any))))
+             e1054))))
+      (global-extend112
+        'core
+        'letrec
+        (lambda (e1093 r1094 w1095 s1096 mod1097)
+          ((lambda (tmp1098)
+             ((lambda (tmp1099)
+                (if (if tmp1099
+                      (apply (lambda (_1100 id1101 val1102 e11103 e21104)
+                               (and-map id?114 id1101))
+                             tmp1099)
+                      #f)
+                  (apply (lambda (_1106 id1107 val1108 e11109 e21110)
+                           (let ((ids1111 id1107))
+                             (if (not (valid-bound-ids?139 ids1111))
+                               (syntax-violation
+                                 'letrec
+                                 "duplicate bound variable"
+                                 e1093)
+                               (let ((labels1113 (gen-labels120 ids1111))
+                                     (new-vars1114 (map gen-var161 ids1111)))
+                                 (let ((w1115 (make-binding-wrap131
+                                                ids1111
+                                                labels1113
+                                                w1095))
+                                       (r1116 (extend-var-env109
+                                                labels1113
+                                                new-vars1114
+                                                r1094)))
+                                   (build-letrec96
+                                     s1096
+                                     (map syntax->datum ids1111)
+                                     new-vars1114
+                                     (map (lambda (x1117)
+                                            (chi150 x1117 r1116 w1115 mod1097))
+                                          val1108)
+                                     (chi-body154
+                                       (cons e11109 e21110)
+                                       (source-wrap143
+                                         e1093
+                                         w1115
+                                         s1096
+                                         mod1097)
+                                       r1116
+                                       w1115
+                                       mod1097)))))))
+                         tmp1099)
+                  ((lambda (_1120)
+                     (syntax-violation
+                       'letrec
+                       "bad letrec"
+                       (source-wrap143 e1093 w1095 s1096 mod1097)))
+                   tmp1098)))
+              ($sc-dispatch
+                tmp1098
+                '(any #(each (any any)) any . each-any))))
+           e1093)))
+      (global-extend112
+        'core
+        'set!
+        (lambda (e1121 r1122 w1123 s1124 mod1125)
+          ((lambda (tmp1126)
+             ((lambda (tmp1127)
+                (if (if tmp1127
+                      (apply (lambda (_1128 id1129 val1130) (id?114 id1129))
+                             tmp1127)
+                      #f)
+                  (apply (lambda (_1131 id1132 val1133)
+                           (let ((val1134 (chi150 val1133 r1122 w1123 mod1125))
+                                 (n1135 (id-var-name136 id1132 w1123)))
+                             (let ((b1136 (lookup111 n1135 r1122 mod1125)))
+                               (let ((atom-key1137 (binding-type106 b1136)))
+                                 (if (memv atom-key1137 (quote (lexical)))
+                                   (build-lexical-assignment84
+                                     s1124
+                                     (syntax->datum id1132)
+                                     (binding-value107 b1136)
+                                     val1134)
+                                   (if (memv atom-key1137 (quote (global)))
+                                     (build-global-assignment87
+                                       s1124
+                                       n1135
+                                       val1134
+                                       mod1125)
+                                     (if (memv atom-key1137
+                                               '(displaced-lexical))
+                                       (syntax-violation
+                                         'set!
+                                         "identifier out of context"
+                                         (wrap142 id1132 w1123 mod1125))
+                                       (syntax-violation
+                                         'set!
+                                         "bad set!"
+                                         (source-wrap143
+                                           e1121
+                                           w1123
+                                           s1124
+                                           mod1125)))))))))
+                         tmp1127)
+                  ((lambda (tmp1138)
+                     (if tmp1138
+                       (apply (lambda (_1139 head1140 tail1141 val1142)
+                                (call-with-values
+                                  (lambda ()
+                                    (syntax-type148
+                                      head1140
+                                      r1122
+                                      '(())
+                                      #f
+                                      #f
+                                      mod1125
+                                      #t))
+                                  (lambda (type1143
+                                           value1144
+                                           ee1145
+                                           ww1146
+                                           ss1147
+                                           modmod1148)
+                                    (if (memv type1143 (quote (module-ref)))
+                                      (let ((val1149
+                                              (chi150
+                                                val1142
+                                                r1122
+                                                w1123
+                                                mod1125)))
+                                        (call-with-values
+                                          (lambda ()
+                                            (value1144
+                                              (cons head1140 tail1141)))
+                                          (lambda (id1151 mod1152)
+                                            (build-global-assignment87
+                                              s1124
+                                              id1151
+                                              val1149
+                                              mod1152))))
+                                      (build-application81
+                                        s1124
+                                        (chi150
+                                          (list '#(syntax-object
+                                                   setter
+                                                   ((top)
+                                                    #(ribcage () () ())
+                                                    #(ribcage () () ())
+                                                    #(ribcage
+                                                      #(type
+                                                        value
+                                                        ee
+                                                        ww
+                                                        ss
+                                                        modmod)
+                                                      #((top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top))
+                                                      #("i"
+                                                        "i"
+                                                        "i"
+                                                        "i"
+                                                        "i"
+                                                        "i"))
+                                                    #(ribcage
+                                                      #(_ head tail val)
+                                                      #((top)
+                                                        (top)
+                                                        (top)
+                                                        (top))
+                                                      #("i" "i" "i" "i"))
+                                                    #(ribcage () () ())
+                                                    #(ribcage
+                                                      #(e r w s mod)
+                                                      #((top)
+                                                        (top)
+                                                        (top)
+                                                        (top)
+                                                        (top))
+                                                      #("i" "i" "i" "i" "i"))
+                                                    #(ribcage
+                                                      (lambda-var-list
+                                                        gen-var
+                                                        strip
+                                                        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))
+                                                head1140)
+                                          r1122
+                                          w1123
+                                          mod1125)
+                                        (map (lambda (e1153)
+                                               (chi150
+                                                 e1153
+                                                 r1122
+                                                 w1123
+                                                 mod1125))
+                                             (append
+                                               tail1141
+                                               (list val1142))))))))
+                              tmp1138)
+                       ((lambda (_1155)
+                          (syntax-violation
+                            'set!
+                            "bad set!"
+                            (source-wrap143 e1121 w1123 s1124 mod1125)))
+                        tmp1126)))
+                   ($sc-dispatch
+                     tmp1126
+                     '(any (any . each-any) any)))))
+              ($sc-dispatch tmp1126 (quote (any any any)))))
+           e1121)))
+      (global-extend112
+        'module-ref
+        '@
+        (lambda (e1156)
+          ((lambda (tmp1157)
+             ((lambda (tmp1158)
+                (if (if tmp1158
+                      (apply (lambda (_1159 mod1160 id1161)
+                               (if (and-map id?114 mod1160)
+                                 (id?114 id1161)
+                                 #f))
+                             tmp1158)
+                      #f)
+                  (apply (lambda (_1163 mod1164 id1165)
+                           (values
+                             (syntax->datum id1165)
+                             (syntax->datum
+                               (cons '#(syntax-object
+                                        public
+                                        ((top)
+                                         #(ribcage
+                                           #(_ mod id)
+                                           #((top) (top) (top))
+                                           #("i" "i" "i"))
+                                         #(ribcage () () ())
+                                         #(ribcage #(e) #((top)) #("i"))
+                                         #(ribcage
+                                           (lambda-var-list
+                                             gen-var
+                                             strip
+                                             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))
+                                     mod1164))))
+                         tmp1158)
+                  (syntax-violation
+                    #f
+                    "source expression failed to match any pattern"
+                    tmp1157)))
+              ($sc-dispatch tmp1157 (quote (any each-any any)))))
+           e1156)))
+      (global-extend112
+        'module-ref
+        '@@
+        (lambda (e1167)
+          ((lambda (tmp1168)
+             ((lambda (tmp1169)
+                (if (if tmp1169
+                      (apply (lambda (_1170 mod1171 id1172)
+                               (if (and-map id?114 mod1171)
+                                 (id?114 id1172)
+                                 #f))
+                             tmp1169)
+                      #f)
+                  (apply (lambda (_1174 mod1175 id1176)
+                           (values
+                             (syntax->datum id1176)
+                             (syntax->datum
+                               (cons '#(syntax-object
+                                        private
+                                        ((top)
+                                         #(ribcage
+                                           #(_ mod id)
+                                           #((top) (top) (top))
+                                           #("i" "i" "i"))
+                                         #(ribcage () () ())
+                                         #(ribcage #(e) #((top)) #("i"))
+                                         #(ribcage
+                                           (lambda-var-list
+                                             gen-var
+                                             strip
+                                             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))
+                                     mod1175))))
+                         tmp1169)
+                  (syntax-violation
+                    #f
+                    "source expression failed to match any pattern"
+                    tmp1168)))
+              ($sc-dispatch tmp1168 (quote (any each-any any)))))
+           e1167)))
+      (global-extend112
+        'core
+        'if
+        (lambda (e1178 r1179 w1180 s1181 mod1182)
+          ((lambda (tmp1183)
+             ((lambda (tmp1184)
+                (if tmp1184
+                  (apply (lambda (_1185 test1186 then1187)
+                           (build-conditional82
+                             s1181
+                             (chi150 test1186 r1179 w1180 mod1182)
+                             (chi150 then1187 r1179 w1180 mod1182)
+                             (build-void80 #f)))
+                         tmp1184)
+                  ((lambda (tmp1188)
+                     (if tmp1188
+                       (apply (lambda (_1189 test1190 then1191 else1192)
+                                (build-conditional82
+                                  s1181
+                                  (chi150 test1190 r1179 w1180 mod1182)
+                                  (chi150 then1191 r1179 w1180 mod1182)
+                                  (chi150 else1192 r1179 w1180 mod1182)))
+                              tmp1188)
+                       (syntax-violation
+                         #f
+                         "source expression failed to match any pattern"
+                         tmp1183)))
+                   ($sc-dispatch tmp1183 (quote (any any any any))))))
+              ($sc-dispatch tmp1183 (quote (any any any)))))
+           e1178)))
+      (global-extend112
+        'begin
+        'begin
+        '())
+      (global-extend112
+        'define
+        'define
+        '())
+      (global-extend112
+        'define-syntax
+        'define-syntax
+        '())
+      (global-extend112
+        'eval-when
+        'eval-when
+        '())
+      (global-extend112
+        'core
+        'syntax-case
+        (letrec ((gen-syntax-case1196
+                   (lambda (x1197 keys1198 clauses1199 r1200 mod1201)
+                     (if (null? clauses1199)
+                       (build-application81
+                         #f
+                         (build-primref91 #f (quote syntax-violation))
+                         (list (build-data92 #f #f)
+                               (build-data92
+                                 #f
+                                 "source expression failed to match any pattern")
+                               x1197))
+                       ((lambda (tmp1202)
+                          ((lambda (tmp1203)
+                             (if tmp1203
+                               (apply (lambda (pat1204 exp1205)
+                                        (if (if (id?114 pat1204)
+                                              (and-map
+                                                (lambda (x1206)
+                                                  (not (free-id=?137
+                                                         pat1204
+                                                         x1206)))
+                                                (cons '#(syntax-object
+                                                         ...
+                                                         ((top)
+                                                          #(ribcage
+                                                            #(pat exp)
+                                                            #((top) (top))
+                                                            #("i" "i"))
+                                                          #(ribcage () () ())
+                                                          #(ribcage
+                                                            #(x
+                                                              keys
+                                                              clauses
+                                                              r
+                                                              mod)
+                                                            #((top)
+                                                              (top)
+                                                              (top)
+                                                              (top)
+                                                              (top))
+                                                            #("i"
+                                                              "i"
+                                                              "i"
+                                                              "i"
+                                                              "i"))
+                                                          #(ribcage
+                                                            (gen-syntax-case
+                                                              gen-clause
+                                                              build-dispatch-call
+                                                              convert-pattern)
+                                                            ((top)
+                                                             (top)
+                                                             (top)
+                                                             (top))
+                                                            ("i" "i" "i" "i"))
+                                                          #(ribcage
+                                                            (lambda-var-list
+                                                              gen-var
+                                                              strip
+                                                              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))
+                                                      keys1198))
+                                              #f)
+                                          (let ((labels1207
+                                                  (list (gen-label119)))
+                                                (var1208 (gen-var161 pat1204)))
+                                            (build-application81
+                                              #f
+                                              (build-lambda90
+                                                #f
+                                                (list (syntax->datum pat1204))
+                                                (list var1208)
+                                                #f
+                                                (chi150
+                                                  exp1205
+                                                  (extend-env108
+                                                    labels1207
+                                                    (list (cons 'syntax
+                                                                (cons var1208
+                                                                      0)))
+                                                    r1200)
+                                                  (make-binding-wrap131
+                                                    (list pat1204)
+                                                    labels1207
+                                                    '(()))
+                                                  mod1201))
+                                              (list x1197)))
+                                          (gen-clause1195
+                                            x1197
+                                            keys1198
+                                            (cdr clauses1199)
+                                            r1200
+                                            pat1204
+                                            #t
+                                            exp1205
+                                            mod1201)))
+                                      tmp1203)
+                               ((lambda (tmp1209)
+                                  (if tmp1209
+                                    (apply (lambda (pat1210 fender1211 exp1212)
+                                             (gen-clause1195
+                                               x1197
+                                               keys1198
+                                               (cdr clauses1199)
+                                               r1200
+                                               pat1210
+                                               fender1211
+                                               exp1212
+                                               mod1201))
+                                           tmp1209)
+                                    ((lambda (_1213)
+                                       (syntax-violation
+                                         'syntax-case
+                                         "invalid clause"
+                                         (car clauses1199)))
+                                     tmp1202)))
+                                ($sc-dispatch tmp1202 (quote (any any any))))))
+                           ($sc-dispatch tmp1202 (quote (any any)))))
+                        (car clauses1199)))))
+                 (gen-clause1195
+                   (lambda (x1214
+                            keys1215
+                            clauses1216
+                            r1217
+                            pat1218
+                            fender1219
+                            exp1220
+                            mod1221)
+                     (call-with-values
+                       (lambda ()
+                         (convert-pattern1193 pat1218 keys1215))
+                       (lambda (p1222 pvars1223)
+                         (if (not (distinct-bound-ids?140 (map car pvars1223)))
+                           (syntax-violation
+                             'syntax-case
+                             "duplicate pattern variable"
+                             pat1218)
+                           (if (not (and-map
+                                      (lambda (x1224)
+                                        (not (ellipsis?159 (car x1224))))
+                                      pvars1223))
+                             (syntax-violation
+                               'syntax-case
+                               "misplaced ellipsis"
+                               pat1218)
+                             (let ((y1225 (gen-var161 (quote tmp))))
+                               (build-application81
+                                 #f
+                                 (build-lambda90
+                                   #f
+                                   (list (quote tmp))
+                                   (list y1225)
+                                   #f
+                                   (let ((y1226 (build-lexical-reference83
+                                                  'value
+                                                  #f
+                                                  'tmp
+                                                  y1225)))
+                                     (build-conditional82
+                                       #f
+                                       ((lambda (tmp1227)
+                                          ((lambda (tmp1228)
+                                             (if tmp1228
+                                               (apply (lambda () y1226)
+                                                      tmp1228)
+                                               ((lambda (_1229)
+                                                  (build-conditional82
+                                                    #f
+                                                    y1226
+                                                    (build-dispatch-call1194
+                                                      pvars1223
+                                                      fender1219
+                                                      y1226
+                                                      r1217
+                                                      mod1221)
+                                                    (build-data92 #f #f)))
+                                                tmp1227)))
+                                           ($sc-dispatch
+                                             tmp1227
+                                             '#(atom #t))))
+                                        fender1219)
+                                       (build-dispatch-call1194
+                                         pvars1223
+                                         exp1220
+                                         y1226
+                                         r1217
+                                         mod1221)
+                                       (gen-syntax-case1196
+                                         x1214
+                                         keys1215
+                                         clauses1216
+                                         r1217
+                                         mod1221))))
+                                 (list (if (eq? p1222 (quote any))
+                                         (build-application81
+                                           #f
+                                           (build-primref91 #f (quote list))
+                                           (list x1214))
+                                         (build-application81
+                                           #f
+                                           (build-primref91
+                                             #f
+                                             '$sc-dispatch)
+                                           (list x1214
+                                                 (build-data92
+                                                   #f
+                                                   p1222)))))))))))))
+                 (build-dispatch-call1194
+                   (lambda (pvars1230 exp1231 y1232 r1233 mod1234)
+                     (let ((ids1235 (map car pvars1230))
+                           (levels1236 (map cdr pvars1230)))
+                       (let ((labels1237 (gen-labels120 ids1235))
+                             (new-vars1238 (map gen-var161 ids1235)))
+                         (build-application81
+                           #f
+                           (build-primref91 #f (quote apply))
+                           (list (build-lambda90
+                                   #f
+                                   (map syntax->datum ids1235)
+                                   new-vars1238
+                                   #f
+                                   (chi150
+                                     exp1231
+                                     (extend-env108
+                                       labels1237
+                                       (map (lambda (var1239 level1240)
+                                              (cons 'syntax
+                                                    (cons var1239 level1240)))
+                                            new-vars1238
+                                            (map cdr pvars1230))
+                                       r1233)
+                                     (make-binding-wrap131
+                                       ids1235
+                                       labels1237
+                                       '(()))
+                                     mod1234))
+                                 y1232))))))
+                 (convert-pattern1193
+                   (lambda (pattern1241 keys1242)
+                     (letrec ((cvt1243
+                                (lambda (p1244 n1245 ids1246)
+                                  (if (id?114 p1244)
+                                    (if (bound-id-member?141 p1244 keys1242)
+                                      (values
+                                        (vector (quote free-id) p1244)
+                                        ids1246)
+                                      (values
+                                        'any
+                                        (cons (cons p1244 n1245) ids1246)))
+                                    ((lambda (tmp1247)
+                                       ((lambda (tmp1248)
+                                          (if (if tmp1248
+                                                (apply (lambda (x1249 dots1250)
+                                                         (ellipsis?159
+                                                           dots1250))
+                                                       tmp1248)
+                                                #f)
+                                            (apply (lambda (x1251 dots1252)
+                                                     (call-with-values
+                                                       (lambda ()
+                                                         (cvt1243
+                                                           x1251
+                                                           (fx+72 n1245 1)
+                                                           ids1246))
+                                                       (lambda (p1253 ids1254)
+                                                         (values
+                                                           (if (eq? p1253
+                                                                    'any)
+                                                             'each-any
+                                                             (vector
+                                                               'each
+                                                               p1253))
+                                                           ids1254))))
+                                                   tmp1248)
+                                            ((lambda (tmp1255)
+                                               (if tmp1255
+                                                 (apply (lambda (x1256 y1257)
+                                                          (call-with-values
+                                                            (lambda ()
+                                                              (cvt1243
+                                                                y1257
+                                                                n1245
+                                                                ids1246))
+                                                            (lambda (y1258
+                                                                     ids1259)
+                                                              (call-with-values
+                                                                (lambda ()
+                                                                  (cvt1243
+                                                                    x1256
+                                                                    n1245
+                                                                    ids1259))
+                                                                (lambda (x1260
+                                                                         ids1261)
+                                                                  (values
+                                                                    (cons x1260
+                                                                          y1258)
+                                                                    ids1261))))))
+                                                        tmp1255)
+                                                 ((lambda (tmp1262)
+                                                    (if tmp1262
+                                                      (apply (lambda ()
+                                                               (values
+                                                                 '()
+                                                                 ids1246))
+                                                             tmp1262)
+                                                      ((lambda (tmp1263)
+                                                         (if tmp1263
+                                                           (apply (lambda (x1264)
+                                                                    (call-with-values
+                                                                      (lambda ()
+                                                                        (cvt1243
+                                                                          x1264
+                                                                          n1245
+                                                                          ids1246))
+                                                                      (lambda (p1266
+                                                                               ids1267)
+                                                                        (values
+                                                                          (vector
+                                                                            'vector
+                                                                            p1266)
+                                                                          ids1267))))
+                                                                  tmp1263)
+                                                           ((lambda (x1268)
+                                                              (values
+                                                                (vector
+                                                                  'atom
+                                                                  (strip160
+                                                                    p1244
+                                                                    '(())))
+                                                                ids1246))
+                                                            tmp1247)))
+                                                       ($sc-dispatch
+                                                         tmp1247
+                                                         '#(vector
+                                                            each-any)))))
+                                                  ($sc-dispatch
+                                                    tmp1247
+                                                    '()))))
+                                             ($sc-dispatch
+                                               tmp1247
+                                               '(any . any)))))
+                                        ($sc-dispatch
+                                          tmp1247
+                                          '(any any))))
+                                     p1244)))))
+                       (cvt1243 pattern1241 0 (quote ()))))))
+          (lambda (e1269 r1270 w1271 s1272 mod1273)
+            (let ((e1274 (source-wrap143 e1269 w1271 s1272 mod1273)))
+              ((lambda (tmp1275)
+                 ((lambda (tmp1276)
+                    (if tmp1276
+                      (apply (lambda (_1277 val1278 key1279 m1280)
+                               (if (and-map
+                                     (lambda (x1281)
+                                       (if (id?114 x1281)
+                                         (not (ellipsis?159 x1281))
+                                         #f))
+                                     key1279)
+                                 (let ((x1283 (gen-var161 (quote tmp))))
+                                   (build-application81
+                                     s1272
+                                     (build-lambda90
+                                       #f
+                                       (list (quote tmp))
+                                       (list x1283)
+                                       #f
+                                       (gen-syntax-case1196
+                                         (build-lexical-reference83
+                                           'value
+                                           #f
+                                           'tmp
+                                           x1283)
+                                         key1279
+                                         m1280
+                                         r1270
+                                         mod1273))
+                                     (list (chi150
+                                             val1278
+                                             r1270
+                                             '(())
+                                             mod1273))))
+                                 (syntax-violation
+                                   'syntax-case
+                                   "invalid literals list"
+                                   e1274)))
+                             tmp1276)
+                      (syntax-violation
+                        #f
+                        "source expression failed to match any pattern"
+                        tmp1275)))
+                  ($sc-dispatch
+                    tmp1275
+                    '(any any each-any . each-any))))
+               e1274)))))
+      (set! sc-expand
+        (lambda (x1287 . rest1286)
+          (if (if (pair? x1287)
+                (equal? (car x1287) noexpand70)
+                #f)
+            (cadr x1287)
+            (let ((m1288 (if (null? rest1286) (quote e) (car rest1286)))
+                  (esew1289
+                    (if (let ((t1290 (null? rest1286)))
+                          (if t1290 t1290 (null? (cdr rest1286))))
+                      '(eval)
+                      (cadr rest1286))))
+              (with-fluid*
+                *mode*71
+                m1288
+                (lambda ()
+                  (chi-top149
+                    x1287
+                    '()
+                    '((top))
+                    m1288
+                    esew1289
+                    (cons 'hygiene
+                          (module-name (current-module))))))))))
+      (set! identifier?
+        (lambda (x1291) (nonsymbol-id?113 x1291)))
+      (set! datum->syntax
+        (lambda (id1292 datum1293)
+          (make-syntax-object97
+            datum1293
+            (syntax-object-wrap100 id1292)
+            #f)))
+      (set! syntax->datum
+        (lambda (x1294) (strip160 x1294 (quote (())))))
+      (set! generate-temporaries
+        (lambda (ls1295)
+          (begin
+            (let ((x1296 ls1295))
+              (if (not (list? x1296))
+                (syntax-violation
+                  'generate-temporaries
+                  "invalid argument"
+                  x1296)))
+            (map (lambda (x1297)
+                   (wrap142 (gensym) (quote ((top))) #f))
+                 ls1295))))
+      (set! free-identifier=?
+        (lambda (x1298 y1299)
+          (begin
+            (let ((x1300 x1298))
+              (if (not (nonsymbol-id?113 x1300))
+                (syntax-violation
+                  'free-identifier=?
+                  "invalid argument"
+                  x1300)))
+            (let ((x1301 y1299))
+              (if (not (nonsymbol-id?113 x1301))
+                (syntax-violation
+                  'free-identifier=?
+                  "invalid argument"
+                  x1301)))
+            (free-id=?137 x1298 y1299))))
+      (set! bound-identifier=?
+        (lambda (x1302 y1303)
+          (begin
+            (let ((x1304 x1302))
+              (if (not (nonsymbol-id?113 x1304))
+                (syntax-violation
+                  'bound-identifier=?
+                  "invalid argument"
+                  x1304)))
+            (let ((x1305 y1303))
+              (if (not (nonsymbol-id?113 x1305))
+                (syntax-violation
+                  'bound-identifier=?
+                  "invalid argument"
+                  x1305)))
+            (bound-id=?138 x1302 y1303))))
+      (set! syntax-violation
+        (lambda (who1309 message1308 form1307 . subform1306)
+          (begin
+            (let ((x1310 who1309))
+              (if (not ((lambda (x1311)
+                          (let ((t1312 (not x1311)))
+                            (if t1312
+                              t1312
+                              (let ((t1313 (string? x1311)))
+                                (if t1313 t1313 (symbol? x1311))))))
+                        x1310))
+                (syntax-violation
+                  'syntax-violation
+                  "invalid argument"
+                  x1310)))
+            (let ((x1314 message1308))
+              (if (not (string? x1314))
+                (syntax-violation
+                  'syntax-violation
+                  "invalid argument"
+                  x1314)))
+            (scm-error
+              'syntax-error
+              'sc-expand
+              (string-append
+                (if who1309 "~a: " "")
+                "~a "
+                (if (null? subform1306)
+                  "in ~a"
+                  "in subform `~s' of `~s'"))
+              (let ((tail1315
+                      (cons message1308
+                            (map (lambda (x1316) (strip160 x1316 (quote (()))))
+                                 (append subform1306 (list form1307))))))
+                (if who1309 (cons who1309 tail1315) tail1315))
+              #f))))
+      (letrec ((match1321
+                 (lambda (e1322 p1323 w1324 r1325 mod1326)
+                   (if (not r1325)
+                     #f
+                     (if (eq? p1323 (quote any))
+                       (cons (wrap142 e1322 w1324 mod1326) r1325)
+                       (if (syntax-object?98 e1322)
+                         (match*1320
+                           (syntax-object-expression99 e1322)
+                           p1323
+                           (join-wraps133
+                             w1324
+                             (syntax-object-wrap100 e1322))
+                           r1325
+                           (syntax-object-module101 e1322))
+                         (match*1320 e1322 p1323 w1324 r1325 mod1326))))))
+               (match*1320
+                 (lambda (e1327 p1328 w1329 r1330 mod1331)
+                   (if (null? p1328)
+                     (if (null? e1327) r1330 #f)
+                     (if (pair? p1328)
+                       (if (pair? e1327)
+                         (match1321
+                           (car e1327)
+                           (car p1328)
+                           w1329
+                           (match1321
+                             (cdr e1327)
+                             (cdr p1328)
+                             w1329
+                             r1330
+                             mod1331)
+                           mod1331)
+                         #f)
+                       (if (eq? p1328 (quote each-any))
+                         (let ((l1332 (match-each-any1318
+                                        e1327
+                                        w1329
+                                        mod1331)))
+                           (if l1332 (cons l1332 r1330) #f))
+                         (let ((atom-key1333 (vector-ref p1328 0)))
+                           (if (memv atom-key1333 (quote (each)))
+                             (if (null? e1327)
+                               (match-empty1319 (vector-ref p1328 1) r1330)
+                               (let ((l1334 (match-each1317
+                                              e1327
+                                              (vector-ref p1328 1)
+                                              w1329
+                                              mod1331)))
+                                 (if l1334
+                                   (letrec ((collect1335
+                                              (lambda (l1336)
+                                                (if (null? (car l1336))
+                                                  r1330
+                                                  (cons (map car l1336)
+                                                        (collect1335
+                                                          (map cdr l1336)))))))
+                                     (collect1335 l1334))
+                                   #f)))
+                             (if (memv atom-key1333 (quote (free-id)))
+                               (if (id?114 e1327)
+                                 (if (free-id=?137
+                                       (wrap142 e1327 w1329 mod1331)
+                                       (vector-ref p1328 1))
+                                   r1330
+                                   #f)
+                                 #f)
+                               (if (memv atom-key1333 (quote (atom)))
+                                 (if (equal?
+                                       (vector-ref p1328 1)
+                                       (strip160 e1327 w1329))
+                                   r1330
+                                   #f)
+                                 (if (memv atom-key1333 (quote (vector)))
+                                   (if (vector? e1327)
+                                     (match1321
+                                       (vector->list e1327)
+                                       (vector-ref p1328 1)
+                                       w1329
+                                       r1330
+                                       mod1331)
+                                     #f)))))))))))
+               (match-empty1319
+                 (lambda (p1337 r1338)
+                   (if (null? p1337)
+                     r1338
+                     (if (eq? p1337 (quote any))
+                       (cons (quote ()) r1338)
+                       (if (pair? p1337)
+                         (match-empty1319
+                           (car p1337)
+                           (match-empty1319 (cdr p1337) r1338))
+                         (if (eq? p1337 (quote each-any))
+                           (cons (quote ()) r1338)
+                           (let ((atom-key1339 (vector-ref p1337 0)))
+                             (if (memv atom-key1339 (quote (each)))
+                               (match-empty1319 (vector-ref p1337 1) r1338)
+                               (if (memv atom-key1339 (quote (free-id atom)))
+                                 r1338
+                                 (if (memv atom-key1339 (quote (vector)))
+                                   (match-empty1319
+                                     (vector-ref p1337 1)
+                                     r1338)))))))))))
+               (match-each-any1318
+                 (lambda (e1340 w1341 mod1342)
+                   (if (pair? e1340)
+                     (let ((l1343 (match-each-any1318
+                                    (cdr e1340)
+                                    w1341
+                                    mod1342)))
+                       (if l1343
+                         (cons (wrap142 (car e1340) w1341 mod1342) l1343)
+                         #f))
+                     (if (null? e1340)
+                       '()
+                       (if (syntax-object?98 e1340)
+                         (match-each-any1318
+                           (syntax-object-expression99 e1340)
+                           (join-wraps133
+                             w1341
+                             (syntax-object-wrap100 e1340))
+                           mod1342)
+                         #f)))))
+               (match-each1317
+                 (lambda (e1344 p1345 w1346 mod1347)
+                   (if (pair? e1344)
+                     (let ((first1348
+                             (match1321
+                               (car e1344)
+                               p1345
+                               w1346
+                               '()
+                               mod1347)))
+                       (if first1348
+                         (let ((rest1349
+                                 (match-each1317
+                                   (cdr e1344)
+                                   p1345
+                                   w1346
+                                   mod1347)))
+                           (if rest1349 (cons first1348 rest1349) #f))
+                         #f))
+                     (if (null? e1344)
+                       '()
+                       (if (syntax-object?98 e1344)
+                         (match-each1317
+                           (syntax-object-expression99 e1344)
+                           p1345
+                           (join-wraps133
+                             w1346
+                             (syntax-object-wrap100 e1344))
+                           (syntax-object-module101 e1344))
+                         #f))))))
+        (set! $sc-dispatch
+          (lambda (e1350 p1351)
+            (if (eq? p1351 (quote any))
+              (list e1350)
+              (if (syntax-object?98 e1350)
+                (match*1320
+                  (syntax-object-expression99 e1350)
+                  p1351
+                  (syntax-object-wrap100 e1350)
+                  '()
+                  (syntax-object-module101 e1350))
+                (match*1320
+                  e1350
+                  p1351
+                  '(())
+                  '()
+                  #f)))))))))
+
+(define with-syntax
+  (make-syncase-macro
+    'macro
+    (lambda (x1352)
+      ((lambda (tmp1353)
+         ((lambda (tmp1354)
+            (if tmp1354
+              (apply (lambda (_1355 e11356 e21357)
+                       (cons '#(syntax-object
+                                begin
+                                ((top)
+                                 #(ribcage
+                                   #(_ e1 e2)
+                                   #((top) (top) (top))
+                                   #("i" "i" "i"))
+                                 #(ribcage () () ())
+                                 #(ribcage #(x) #((top)) #("i")))
+                                (hygiene guile))
+                             (cons e11356 e21357)))
+                     tmp1354)
+              ((lambda (tmp1359)
+                 (if tmp1359
+                   (apply (lambda (_1360 out1361 in1362 e11363 e21364)
+                            (list '#(syntax-object
+                                     syntax-case
+                                     ((top)
+                                      #(ribcage
+                                        #(_ out in e1 e2)
+                                        #((top) (top) (top) (top) (top))
+                                        #("i" "i" "i" "i" "i"))
+                                      #(ribcage () () ())
+                                      #(ribcage #(x) #((top)) #("i")))
+                                     (hygiene guile))
+                                  in1362
+                                  '()
+                                  (list out1361
+                                        (cons '#(syntax-object
+                                                 begin
+                                                 ((top)
+                                                  #(ribcage
+                                                    #(_ out in e1 e2)
+                                                    #((top)
+                                                      (top)
+                                                      (top)
+                                                      (top)
+                                                      (top))
+                                                    #("i" "i" "i" "i" "i"))
+                                                  #(ribcage () () ())
+                                                  #(ribcage
+                                                    #(x)
+                                                    #((top))
+                                                    #("i")))
+                                                 (hygiene guile))
+                                              (cons e11363 e21364)))))
+                          tmp1359)
+                   ((lambda (tmp1366)
+                      (if tmp1366
+                        (apply (lambda (_1367 out1368 in1369 e11370 e21371)
+                                 (list '#(syntax-object
+                                          syntax-case
+                                          ((top)
+                                           #(ribcage
+                                             #(_ out in e1 e2)
+                                             #((top) (top) (top) (top) (top))
+                                             #("i" "i" "i" "i" "i"))
+                                           #(ribcage () () ())
+                                           #(ribcage #(x) #((top)) #("i")))
+                                          (hygiene guile))
+                                       (cons '#(syntax-object
+                                                list
+                                                ((top)
+                                                 #(ribcage
+                                                   #(_ out in e1 e2)
+                                                   #((top)
+                                                     (top)
+                                                     (top)
+                                                     (top)
+                                                     (top))
+                                                   #("i" "i" "i" "i" "i"))
+                                                 #(ribcage () () ())
+                                                 #(ribcage
+                                                   #(x)
+                                                   #((top))
+                                                   #("i")))
+                                                (hygiene guile))
+                                             in1369)
+                                       '()
+                                       (list out1368
+                                             (cons '#(syntax-object
+                                                      begin
+                                                      ((top)
+                                                       #(ribcage
+                                                         #(_ out in e1 e2)
+                                                         #((top)
+                                                           (top)
+                                                           (top)
+                                                           (top)
+                                                           (top))
+                                                         #("i"
+                                                           "i"
+                                                           "i"
+                                                           "i"
+                                                           "i"))
+                                                       #(ribcage () () ())
+                                                       #(ribcage
+                                                         #(x)
+                                                         #((top))
+                                                         #("i")))
+                                                      (hygiene guile))
+                                                   (cons e11370 e21371)))))
+                               tmp1366)
+                        (syntax-violation
+                          #f
+                          "source expression failed to match any pattern"
+                          tmp1353)))
+                    ($sc-dispatch
+                      tmp1353
+                      '(any #(each (any any)) any . each-any)))))
+               ($sc-dispatch
+                 tmp1353
+                 '(any ((any any)) any . each-any)))))
+          ($sc-dispatch
+            tmp1353
+            '(any () any . each-any))))
+       x1352))))
+
+(define syntax-rules
+  (make-syncase-macro
+    'macro
+    (lambda (x1375)
+      ((lambda (tmp1376)
+         ((lambda (tmp1377)
+            (if tmp1377
+              (apply (lambda (_1378
+                              k1379
+                              keyword1380
+                              pattern1381
+                              template1382)
+                       (list '#(syntax-object
+                                lambda
+                                ((top)
+                                 #(ribcage
+                                   #(_ k keyword pattern template)
+                                   #((top) (top) (top) (top) (top))
+                                   #("i" "i" "i" "i" "i"))
+                                 #(ribcage () () ())
+                                 #(ribcage #(x) #((top)) #("i")))
+                                (hygiene guile))
+                             '(#(syntax-object
+                                 x
+                                 ((top)
+                                  #(ribcage
+                                    #(_ k keyword pattern template)
+                                    #((top) (top) (top) (top) (top))
+                                    #("i" "i" "i" "i" "i"))
+                                  #(ribcage () () ())
+                                  #(ribcage #(x) #((top)) #("i")))
+                                 (hygiene guile)))
+                             (cons '#(syntax-object
+                                      syntax-case
+                                      ((top)
+                                       #(ribcage
+                                         #(_ k keyword pattern template)
+                                         #((top) (top) (top) (top) (top))
+                                         #("i" "i" "i" "i" "i"))
+                                       #(ribcage () () ())
+                                       #(ribcage #(x) #((top)) #("i")))
+                                      (hygiene guile))
+                                   (cons '#(syntax-object
+                                            x
+                                            ((top)
+                                             #(ribcage
+                                               #(_ k keyword pattern template)
+                                               #((top) (top) (top) (top) (top))
+                                               #("i" "i" "i" "i" "i"))
+                                             #(ribcage () () ())
+                                             #(ribcage #(x) #((top)) #("i")))
+                                            (hygiene guile))
+                                         (cons k1379
+                                               (map (lambda (tmp1385 tmp1384)
+                                                      (list (cons '#(syntax-object
+                                                                     dummy
+                                                                     ((top)
+                                                                      #(ribcage
+                                                                        #(_
+                                                                          k
+                                                                          keyword
+                                                                          pattern
+                                                                          template)
+                                                                        #((top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top))
+                                                                        #("i"
+                                                                          "i"
+                                                                          "i"
+                                                                          "i"
+                                                                          "i"))
+                                                                      #(ribcage
+                                                                        ()
+                                                                        ()
+                                                                        ())
+                                                                      #(ribcage
+                                                                        #(x)
+                                                                        #((top))
+                                                                        #("i")))
+                                                                     (hygiene
+                                                                       guile))
+                                                                  tmp1384)
+                                                            (list '#(syntax-object
+                                                                     syntax
+                                                                     ((top)
+                                                                      #(ribcage
+                                                                        #(_
+                                                                          k
+                                                                          keyword
+                                                                          pattern
+                                                                          template)
+                                                                        #((top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top))
+                                                                        #("i"
+                                                                          "i"
+                                                                          "i"
+                                                                          "i"
+                                                                          "i"))
+                                                                      #(ribcage
+                                                                        ()
+                                                                        ()
+                                                                        ())
+                                                                      #(ribcage
+                                                                        #(x)
+                                                                        #((top))
+                                                                        #("i")))
+                                                                     (hygiene
+                                                                       guile))
+                                                                  tmp1385)))
+                                                    template1382
+                                                    pattern1381))))))
+                     tmp1377)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1376)))
+          ($sc-dispatch
+            tmp1376
+            '(any each-any . #(each ((any . any) any))))))
+       x1375))))
+
+(define let*
+  (make-extended-syncase-macro
+    (module-ref (current-module) (quote let*))
+    'macro
+    (lambda (x1386)
+      ((lambda (tmp1387)
+         ((lambda (tmp1388)
+            (if (if tmp1388
+                  (apply (lambda (let*1389 x1390 v1391 e11392 e21393)
+                           (and-map identifier? x1390))
+                         tmp1388)
+                  #f)
+              (apply (lambda (let*1395 x1396 v1397 e11398 e21399)
+                       (letrec ((f1400 (lambda (bindings1401)
+                                         (if (null? bindings1401)
+                                           (cons '#(syntax-object
+                                                    let
+                                                    ((top)
+                                                     #(ribcage () () ())
+                                                     #(ribcage
+                                                       #(f bindings)
+                                                       #((top) (top))
+                                                       #("i" "i"))
+                                                     #(ribcage
+                                                       #(let* x v e1 e2)
+                                                       #((top)
+                                                         (top)
+                                                         (top)
+                                                         (top)
+                                                         (top))
+                                                       #("i" "i" "i" "i" "i"))
+                                                     #(ribcage () () ())
+                                                     #(ribcage
+                                                       #(x)
+                                                       #((top))
+                                                       #("i")))
+                                                    (hygiene guile))
+                                                 (cons '()
+                                                       (cons e11398 e21399)))
+                                           ((lambda (tmp1405)
+                                              ((lambda (tmp1406)
+                                                 (if tmp1406
+                                                   (apply (lambda (body1407
+                                                                   binding1408)
+                                                            (list '#(syntax-object
+                                                                     let
+                                                                     ((top)
+                                                                      #(ribcage
+                                                                        #(body
+                                                                          binding)
+                                                                        #((top)
+                                                                          (top))
+                                                                        #("i"
+                                                                          "i"))
+                                                                      #(ribcage
+                                                                        ()
+                                                                        ()
+                                                                        ())
+                                                                      #(ribcage
+                                                                        #(f
+                                                                          bindings)
+                                                                        #((top)
+                                                                          (top))
+                                                                        #("i"
+                                                                          "i"))
+                                                                      #(ribcage
+                                                                        #(let*
+                                                                          x
+                                                                          v
+                                                                          e1
+                                                                          e2)
+                                                                        #((top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top))
+                                                                        #("i"
+                                                                          "i"
+                                                                          "i"
+                                                                          "i"
+                                                                          "i"))
+                                                                      #(ribcage
+                                                                        ()
+                                                                        ()
+                                                                        ())
+                                                                      #(ribcage
+                                                                        #(x)
+                                                                        #((top))
+                                                                        #("i")))
+                                                                     (hygiene
+                                                                       guile))
+                                                                  (list binding1408)
+                                                                  body1407))
+                                                          tmp1406)
+                                                   (syntax-violation
+                                                     #f
+                                                     "source expression failed to match any pattern"
+                                                     tmp1405)))
+                                               ($sc-dispatch
+                                                 tmp1405
+                                                 '(any any))))
+                                            (list (f1400 (cdr bindings1401))
+                                                  (car bindings1401)))))))
+                         (f1400 (map list x1396 v1397))))
+                     tmp1388)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1387)))
+          ($sc-dispatch
+            tmp1387
+            '(any #(each (any any)) any . each-any))))
+       x1386))))
+
+(define do
+  (make-extended-syncase-macro
+    (module-ref (current-module) (quote do))
+    'macro
+    (lambda (orig-x1409)
+      ((lambda (tmp1410)
+         ((lambda (tmp1411)
+            (if tmp1411
+              (apply (lambda (_1412
+                              var1413
+                              init1414
+                              step1415
+                              e01416
+                              e11417
+                              c1418)
+                       ((lambda (tmp1419)
+                          ((lambda (tmp1420)
+                             (if tmp1420
+                               (apply (lambda (step1421)
+                                        ((lambda (tmp1422)
+                                           ((lambda (tmp1423)
+                                              (if tmp1423
+                                                (apply (lambda ()
+                                                         (list '#(syntax-object
+                                                                  let
+                                                                  ((top)
+                                                                   #(ribcage
+                                                                     #(step)
+                                                                     #((top))
+                                                                     #("i"))
+                                                                   #(ribcage
+                                                                     #(_
+                                                                       var
+                                                                       init
+                                                                       step
+                                                                       e0
+                                                                       e1
+                                                                       c)
+                                                                     #((top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top))
+                                                                     #("i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"))
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     #(orig-x)
+                                                                     #((top))
+                                                                     #("i")))
+                                                                  (hygiene
+                                                                    guile))
+                                                               '#(syntax-object
+                                                                  doloop
+                                                                  ((top)
+                                                                   #(ribcage
+                                                                     #(step)
+                                                                     #((top))
+                                                                     #("i"))
+                                                                   #(ribcage
+                                                                     #(_
+                                                                       var
+                                                                       init
+                                                                       step
+                                                                       e0
+                                                                       e1
+                                                                       c)
+                                                                     #((top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top))
+                                                                     #("i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"
+                                                                       "i"))
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     #(orig-x)
+                                                                     #((top))
+                                                                     #("i")))
+                                                                  (hygiene
+                                                                    guile))
+                                                               (map list
+                                                                    var1413
+                                                                    init1414)
+                                                               (list '#(syntax-object
+                                                                        if
+                                                                        ((top)
+                                                                         #(ribcage
+                                                                           #(step)
+                                                                           #((top))
+                                                                           #("i"))
+                                                                         #(ribcage
+                                                                           #(_
+                                                                             var
+                                                                             init
+                                                                             step
+                                                                             e0
+                                                                             e1
+                                                                             c)
+                                                                           #((top)
+                                                                             (top)
+                                                                             (top)
+                                                                             (top)
+                                                                             (top)
+                                                                             (top)
+                                                                             (top))
+                                                                           #("i"
+                                                                             "i"
+                                                                             "i"
+                                                                             "i"
+                                                                             "i"
+                                                                             "i"
+                                                                             "i"))
+                                                                         #(ribcage
+                                                                           ()
+                                                                           ()
+                                                                           ())
+                                                                         #(ribcage
+                                                                           #(orig-x)
+                                                                           #((top))
+                                                                           #("i")))
+                                                                        (hygiene
+                                                                          guile))
+                                                                     (list '#(syntax-object
+                                                                              not
+                                                                              ((top)
+                                                                               #(ribcage
+                                                                                 #(step)
+                                                                                 #((top))
+                                                                                 #("i"))
+                                                                               #(ribcage
+                                                                                 #(_
+                                                                                   var
+                                                                                   init
+                                                                                   step
+                                                                                   e0
+                                                                                   e1
+                                                                                   c)
+                                                                                 #((top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top))
+                                                                                 #("i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"))
+                                                                               #(ribcage
+                                                                                 ()
+                                                                                 ()
+                                                                                 ())
+                                                                               #(ribcage
+                                                                                 #(orig-x)
+                                                                                 #((top))
+                                                                                 #("i")))
+                                                                              (hygiene
+                                                                                guile))
+                                                                           e01416)
+                                                                     (cons '#(syntax-object
+                                                                              begin
+                                                                              ((top)
+                                                                               #(ribcage
+                                                                                 #(step)
+                                                                                 #((top))
+                                                                                 #("i"))
+                                                                               #(ribcage
+                                                                                 #(_
+                                                                                   var
+                                                                                   init
+                                                                                   step
+                                                                                   e0
+                                                                                   e1
+                                                                                   c)
+                                                                                 #((top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top)
+                                                                                   (top))
+                                                                                 #("i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"
+                                                                                   "i"))
+                                                                               #(ribcage
+                                                                                 ()
+                                                                                 ()
+                                                                                 ())
+                                                                               #(ribcage
+                                                                                 #(orig-x)
+                                                                                 #((top))
+                                                                                 #("i")))
+                                                                              (hygiene
+                                                                                guile))
+                                                                           (append
+                                                                             c1418
+                                                                             (list (cons '#(syntax-object
+                                                                                            doloop
+                                                                                            ((top)
+                                                                                             #(ribcage
+                                                                                               #(step)
+                                                                                               #((top))
+                                                                                               #("i"))
+                                                                                             #(ribcage
+                                                                                               #(_
+                                                                                                 var
+                                                                                                 init
+                                                                                                 step
+                                                                                                 e0
+                                                                                                 e1
+                                                                                                 c)
+                                                                                               #((top)
+                                                                                                 (top)
+                                                                                                 (top)
+                                                                                                 (top)
+                                                                                                 (top)
+                                                                                                 (top)
+                                                                                                 (top))
+                                                                                               #("i"
+                                                                                                 "i"
+                                                                                                 "i"
+                                                                                                 "i"
+                                                                                                 "i"
+                                                                                                 "i"
+                                                                                                 "i"))
+                                                                                             #(ribcage
+                                                                                               ()
+                                                                                               ()
+                                                                                               ())
+                                                                                             #(ribcage
+                                                                                               #(orig-x)
+                                                                                               #((top))
+                                                                                               #("i")))
+                                                                                            (hygiene
+                                                                                              guile))
+                                                                                         step1421)))))))
+                                                       tmp1423)
+                                                ((lambda (tmp1428)
+                                                   (if tmp1428
+                                                     (apply (lambda (e11429
+                                                                     e21430)
+                                                              (list '#(syntax-object
+                                                                       let
+                                                                       ((top)
+                                                                        #(ribcage
+                                                                          #(e1
+                                                                            e2)
+                                                                          #((top)
+                                                                            (top))
+                                                                          #("i"
+                                                                            "i"))
+                                                                        #(ribcage
+                                                                          #(step)
+                                                                          #((top))
+                                                                          #("i"))
+                                                                        #(ribcage
+                                                                          #(_
+                                                                            var
+                                                                            init
+                                                                            step
+                                                                            e0
+                                                                            e1
+                                                                            c)
+                                                                          #((top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top))
+                                                                          #("i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"))
+                                                                        #(ribcage
+                                                                          ()
+                                                                          ()
+                                                                          ())
+                                                                        #(ribcage
+                                                                          #(orig-x)
+                                                                          #((top))
+                                                                          #("i")))
+                                                                       (hygiene
+                                                                         guile))
+                                                                    '#(syntax-object
+                                                                       doloop
+                                                                       ((top)
+                                                                        #(ribcage
+                                                                          #(e1
+                                                                            e2)
+                                                                          #((top)
+                                                                            (top))
+                                                                          #("i"
+                                                                            "i"))
+                                                                        #(ribcage
+                                                                          #(step)
+                                                                          #((top))
+                                                                          #("i"))
+                                                                        #(ribcage
+                                                                          #(_
+                                                                            var
+                                                                            init
+                                                                            step
+                                                                            e0
+                                                                            e1
+                                                                            c)
+                                                                          #((top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top)
+                                                                            (top))
+                                                                          #("i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"
+                                                                            "i"))
+                                                                        #(ribcage
+                                                                          ()
+                                                                          ()
+                                                                          ())
+                                                                        #(ribcage
+                                                                          #(orig-x)
+                                                                          #((top))
+                                                                          #("i")))
+                                                                       (hygiene
+                                                                         guile))
+                                                                    (map list
+                                                                         var1413
+                                                                         init1414)
+                                                                    (list '#(syntax-object
+                                                                             if
+                                                                             ((top)
+                                                                              #(ribcage
+                                                                                #(e1
+                                                                                  e2)
+                                                                                #((top)
+                                                                                  (top))
+                                                                                #("i"
+                                                                                  "i"))
+                                                                              #(ribcage
+                                                                                #(step)
+                                                                                #((top))
+                                                                                #("i"))
+                                                                              #(ribcage
+                                                                                #(_
+                                                                                  var
+                                                                                  init
+                                                                                  step
+                                                                                  e0
+                                                                                  e1
+                                                                                  c)
+                                                                                #((top)
+                                                                                  (top)
+                                                                                  (top)
+                                                                                  (top)
+                                                                                  (top)
+                                                                                  (top)
+                                                                                  (top))
+                                                                                #("i"
+                                                                                  "i"
+                                                                                  "i"
+                                                                                  "i"
+                                                                                  "i"
+                                                                                  "i"
+                                                                                  "i"))
+                                                                              #(ribcage
+                                                                                ()
+                                                                                ()
+                                                                                ())
+                                                                              #(ribcage
+                                                                                #(orig-x)
+                                                                                #((top))
+                                                                                #("i")))
+                                                                             (hygiene
+                                                                               guile))
+                                                                          e01416
+                                                                          (cons '#(syntax-object
+                                                                                   begin
+                                                                                   ((top)
+                                                                                    #(ribcage
+                                                                                      #(e1
+                                                                                        e2)
+                                                                                      #((top)
+                                                                                        (top))
+                                                                                      #("i"
+                                                                                        "i"))
+                                                                                    #(ribcage
+                                                                                      #(step)
+                                                                                      #((top))
+                                                                                      #("i"))
+                                                                                    #(ribcage
+                                                                                      #(_
+                                                                                        var
+                                                                                        init
+                                                                                        step
+                                                                                        e0
+                                                                                        e1
+                                                                                        c)
+                                                                                      #((top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top))
+                                                                                      #("i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"))
+                                                                                    #(ribcage
+                                                                                      ()
+                                                                                      ()
+                                                                                      ())
+                                                                                    #(ribcage
+                                                                                      #(orig-x)
+                                                                                      #((top))
+                                                                                      #("i")))
+                                                                                   (hygiene
+                                                                                     guile))
+                                                                                (cons e11429
+                                                                                      e21430))
+                                                                          (cons '#(syntax-object
+                                                                                   begin
+                                                                                   ((top)
+                                                                                    #(ribcage
+                                                                                      #(e1
+                                                                                        e2)
+                                                                                      #((top)
+                                                                                        (top))
+                                                                                      #("i"
+                                                                                        "i"))
+                                                                                    #(ribcage
+                                                                                      #(step)
+                                                                                      #((top))
+                                                                                      #("i"))
+                                                                                    #(ribcage
+                                                                                      #(_
+                                                                                        var
+                                                                                        init
+                                                                                        step
+                                                                                        e0
+                                                                                        e1
+                                                                                        c)
+                                                                                      #((top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top)
+                                                                                        (top))
+                                                                                      #("i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"
+                                                                                        "i"))
+                                                                                    #(ribcage
+                                                                                      ()
+                                                                                      ()
+                                                                                      ())
+                                                                                    #(ribcage
+                                                                                      #(orig-x)
+                                                                                      #((top))
+                                                                                      #("i")))
+                                                                                   (hygiene
+                                                                                     guile))
+                                                                                (append
+                                                                                  c1418
+                                                                                  (list (cons '#(syntax-object
+                                                                                                 doloop
+                                                                                                 ((top)
+                                                                                                  #(ribcage
+                                                                                                    #(e1
+                                                                                                      e2)
+                                                                                                    #((top)
+                                                                                                      (top))
+                                                                                                    #("i"
+                                                                                                      "i"))
+                                                                                                  #(ribcage
+                                                                                                    #(step)
+                                                                                                    #((top))
+                                                                                                    #("i"))
+                                                                                                  #(ribcage
+                                                                                                    #(_
+                                                                                                      var
+                                                                                                      init
+                                                                                                      step
+                                                                                                      e0
+                                                                                                      e1
+                                                                                                      c)
+                                                                                                    #((top)
+                                                                                                      (top)
+                                                                                                      (top)
+                                                                                                      (top)
+                                                                                                      (top)
+                                                                                                      (top)
+                                                                                                      (top))
+                                                                                                    #("i"
+                                                                                                      "i"
+                                                                                                      "i"
+                                                                                                      "i"
+                                                                                                      "i"
+                                                                                                      "i"
+                                                                                                      "i"))
+                                                                                                  #(ribcage
+                                                                                                    ()
+                                                                                                    ()
+                                                                                                    ())
+                                                                                                  #(ribcage
+                                                                                                    #(orig-x)
+                                                                                                    #((top))
+                                                                                                    #("i")))
+                                                                                                 (hygiene
+                                                                                                   guile))
+                                                                                              step1421)))))))
+                                                            tmp1428)
+                                                     (syntax-violation
+                                                       #f
+                                                       "source expression failed to match any pattern"
+                                                       tmp1422)))
+                                                 ($sc-dispatch
+                                                   tmp1422
+                                                   '(any . each-any)))))
+                                            ($sc-dispatch tmp1422 (quote ()))))
+                                         e11417))
+                                      tmp1420)
+                               (syntax-violation
+                                 #f
+                                 "source expression failed to match any pattern"
+                                 tmp1419)))
+                           ($sc-dispatch tmp1419 (quote each-any))))
+                        (map (lambda (v1437 s1438)
+                               ((lambda (tmp1439)
+                                  ((lambda (tmp1440)
+                                     (if tmp1440
+                                       (apply (lambda () v1437) tmp1440)
+                                       ((lambda (tmp1441)
+                                          (if tmp1441
+                                            (apply (lambda (e1442) e1442)
+                                                   tmp1441)
+                                            ((lambda (_1443)
+                                               (syntax-violation
+                                                 'do
+                                                 "bad step expression"
+                                                 orig-x1409
+                                                 s1438))
+                                             tmp1439)))
+                                        ($sc-dispatch tmp1439 (quote (any))))))
+                                   ($sc-dispatch tmp1439 (quote ()))))
+                                s1438))
+                             var1413
+                             step1415)))
+                     tmp1411)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1410)))
+          ($sc-dispatch
+            tmp1410
+            '(any #(each (any any . any))
+                  (any . each-any)
+                  .
+                  each-any))))
+       orig-x1409))))
+
+(define quasiquote
+  (make-extended-syncase-macro
+    (module-ref (current-module) (quote quasiquote))
+    'macro
+    (letrec ((quasicons1446
+               (lambda (x1450 y1451)
+                 ((lambda (tmp1452)
+                    ((lambda (tmp1453)
+                       (if tmp1453
+                         (apply (lambda (x1454 y1455)
+                                  ((lambda (tmp1456)
+                                     ((lambda (tmp1457)
+                                        (if tmp1457
+                                          (apply (lambda (dy1458)
+                                                   ((lambda (tmp1459)
+                                                      ((lambda (tmp1460)
+                                                         (if tmp1460
+                                                           (apply (lambda (dx1461)
+                                                                    (list '#(syntax-object
+                                                                             quote
+                                                                             ((top)
+                                                                              #(ribcage
+                                                                                #(dx)
+                                                                                #((top))
+                                                                                #("i"))
+                                                                              #(ribcage
+                                                                                #(dy)
+                                                                                #((top))
+                                                                                #("i"))
+                                                                              #(ribcage
+                                                                                #(x
+                                                                                  y)
+                                                                                #((top)
+                                                                                  (top))
+                                                                                #("i"
+                                                                                  "i"))
+                                                                              #(ribcage
+                                                                                ()
+                                                                                ()
+                                                                                ())
+                                                                              #(ribcage
+                                                                                ()
+                                                                                ()
+                                                                                ())
+                                                                              #(ribcage
+                                                                                #(x
+                                                                                  y)
+                                                                                #((top)
+                                                                                  (top))
+                                                                                #("i"
+                                                                                  "i"))
+                                                                              #(ribcage
+                                                                                #(quasicons
+                                                                                  quasiappend
+                                                                                  quasivector
+                                                                                  quasi)
+                                                                                #((top)
+                                                                                  (top)
+                                                                                  (top)
+                                                                                  (top))
+                                                                                #("i"
+                                                                                  "i"
+                                                                                  "i"
+                                                                                  "i")))
+                                                                             (hygiene
+                                                                               guile))
+                                                                          (cons dx1461
+                                                                                dy1458)))
+                                                                  tmp1460)
+                                                           ((lambda (_1462)
+                                                              (if (null? dy1458)
+                                                                (list '#(syntax-object
+                                                                         list
+                                                                         ((top)
+                                                                          #(ribcage
+                                                                            #(_)
+                                                                            #((top))
+                                                                            #("i"))
+                                                                          #(ribcage
+                                                                            #(dy)
+                                                                            #((top))
+                                                                            #("i"))
+                                                                          #(ribcage
+                                                                            #(x
+                                                                              y)
+                                                                            #((top)
+                                                                              (top))
+                                                                            #("i"
+                                                                              "i"))
+                                                                          #(ribcage
+                                                                            ()
+                                                                            ()
+                                                                            ())
+                                                                          #(ribcage
+                                                                            ()
+                                                                            ()
+                                                                            ())
+                                                                          #(ribcage
+                                                                            #(x
+                                                                              y)
+                                                                            #((top)
+                                                                              (top))
+                                                                            #("i"
+                                                                              "i"))
+                                                                          #(ribcage
+                                                                            #(quasicons
+                                                                              quasiappend
+                                                                              quasivector
+                                                                              quasi)
+                                                                            #((top)
+                                                                              (top)
+                                                                              (top)
+                                                                              (top))
+                                                                            #("i"
+                                                                              "i"
+                                                                              "i"
+                                                                              "i")))
+                                                                         (hygiene
+                                                                           guile))
+                                                                      x1454)
+                                                                (list '#(syntax-object
+                                                                         cons
+                                                                         ((top)
+                                                                          #(ribcage
+                                                                            #(_)
+                                                                            #((top))
+                                                                            #("i"))
+                                                                          #(ribcage
+                                                                            #(dy)
+                                                                            #((top))
+                                                                            #("i"))
+                                                                          #(ribcage
+                                                                            #(x
+                                                                              y)
+                                                                            #((top)
+                                                                              (top))
+                                                                            #("i"
+                                                                              "i"))
+                                                                          #(ribcage
+                                                                            ()
+                                                                            ()
+                                                                            ())
+                                                                          #(ribcage
+                                                                            ()
+                                                                            ()
+                                                                            ())
+                                                                          #(ribcage
+                                                                            #(x
+                                                                              y)
+                                                                            #((top)
+                                                                              (top))
+                                                                            #("i"
+                                                                              "i"))
+                                                                          #(ribcage
+                                                                            #(quasicons
+                                                                              quasiappend
+                                                                              quasivector
+                                                                              quasi)
+                                                                            #((top)
+                                                                              (top)
+                                                                              (top)
+                                                                              (top))
+                                                                            #("i"
+                                                                              "i"
+                                                                              "i"
+                                                                              "i")))
+                                                                         (hygiene
+                                                                           guile))
+                                                                      x1454
+                                                                      y1455)))
+                                                            tmp1459)))
+                                                       ($sc-dispatch
+                                                         tmp1459
+                                                         '(#(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))))
+                                                    x1454))
+                                                 tmp1457)
+                                          ((lambda (tmp1463)
+                                             (if tmp1463
+                                               (apply (lambda (stuff1464)
+                                                        (cons '#(syntax-object
+                                                                 list
+                                                                 ((top)
+                                                                  #(ribcage
+                                                                    #(stuff)
+                                                                    #((top))
+                                                                    #("i"))
+                                                                  #(ribcage
+                                                                    #(x y)
+                                                                    #((top)
+                                                                      (top))
+                                                                    #("i" "i"))
+                                                                  #(ribcage
+                                                                    ()
+                                                                    ()
+                                                                    ())
+                                                                  #(ribcage
+                                                                    ()
+                                                                    ()
+                                                                    ())
+                                                                  #(ribcage
+                                                                    #(x y)
+                                                                    #((top)
+                                                                      (top))
+                                                                    #("i" "i"))
+                                                                  #(ribcage
+                                                                    #(quasicons
+                                                                      quasiappend
+                                                                      quasivector
+                                                                      quasi)
+                                                                    #((top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top))
+                                                                    #("i"
+                                                                      "i"
+                                                                      "i"
+                                                                      "i")))
+                                                                 (hygiene
+                                                                   guile))
+                                                              (cons x1454
+                                                                    stuff1464)))
+                                                      tmp1463)
+                                               ((lambda (else1465)
+                                                  (list '#(syntax-object
+                                                           cons
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(else)
+                                                              #((top))
+                                                              #("i"))
+                                                            #(ribcage
+                                                              #(x y)
+                                                              #((top) (top))
+                                                              #("i" "i"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(x y)
+                                                              #((top) (top))
+                                                              #("i" "i"))
+                                                            #(ribcage
+                                                              #(quasicons
+                                                                quasiappend
+                                                                quasivector
+                                                                quasi)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("i"
+                                                                "i"
+                                                                "i"
+                                                                "i")))
+                                                           (hygiene guile))
+                                                        x1454
+                                                        y1455))
+                                                tmp1456)))
+                                           ($sc-dispatch
+                                             tmp1456
+                                             '(#(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
+                                        tmp1456
+                                        '(#(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))))
+                                   y1455))
+                                tmp1453)
+                         (syntax-violation
+                           #f
+                           "source expression failed to match any pattern"
+                           tmp1452)))
+                     ($sc-dispatch tmp1452 (quote (any any)))))
+                  (list x1450 y1451))))
+             (quasiappend1447
+               (lambda (x1466 y1467)
+                 ((lambda (tmp1468)
+                    ((lambda (tmp1469)
+                       (if tmp1469
+                         (apply (lambda (x1470 y1471)
+                                  ((lambda (tmp1472)
+                                     ((lambda (tmp1473)
+                                        (if tmp1473
+                                          (apply (lambda () x1470) tmp1473)
+                                          ((lambda (_1474)
+                                             (list '#(syntax-object
+                                                      append
+                                                      ((top)
+                                                       #(ribcage
+                                                         #(_)
+                                                         #((top))
+                                                         #("i"))
+                                                       #(ribcage
+                                                         #(x y)
+                                                         #((top) (top))
+                                                         #("i" "i"))
+                                                       #(ribcage () () ())
+                                                       #(ribcage () () ())
+                                                       #(ribcage
+                                                         #(x y)
+                                                         #((top) (top))
+                                                         #("i" "i"))
+                                                       #(ribcage
+                                                         #(quasicons
+                                                           quasiappend
+                                                           quasivector
+                                                           quasi)
+                                                         #((top)
+                                                           (top)
+                                                           (top)
+                                                           (top))
+                                                         #("i" "i" "i" "i")))
+                                                      (hygiene guile))
+                                                   x1470
+                                                   y1471))
+                                           tmp1472)))
+                                      ($sc-dispatch
+                                        tmp1472
+                                        '(#(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)))
+                                          ()))))
+                                   y1471))
+                                tmp1469)
+                         (syntax-violation
+                           #f
+                           "source expression failed to match any pattern"
+                           tmp1468)))
+                     ($sc-dispatch tmp1468 (quote (any any)))))
+                  (list x1466 y1467))))
+             (quasivector1448
+               (lambda (x1475)
+                 ((lambda (tmp1476)
+                    ((lambda (x1477)
+                       ((lambda (tmp1478)
+                          ((lambda (tmp1479)
+                             (if tmp1479
+                               (apply (lambda (x1480)
+                                        (list '#(syntax-object
+                                                 quote
+                                                 ((top)
+                                                  #(ribcage
+                                                    #(x)
+                                                    #((top))
+                                                    #("i"))
+                                                  #(ribcage
+                                                    #(x)
+                                                    #((top))
+                                                    #("i"))
+                                                  #(ribcage () () ())
+                                                  #(ribcage () () ())
+                                                  #(ribcage
+                                                    #(x)
+                                                    #((top))
+                                                    #("i"))
+                                                  #(ribcage
+                                                    #(quasicons
+                                                      quasiappend
+                                                      quasivector
+                                                      quasi)
+                                                    #((top) (top) (top) (top))
+                                                    #("i" "i" "i" "i")))
+                                                 (hygiene guile))
+                                              (list->vector x1480)))
+                                      tmp1479)
+                               ((lambda (tmp1482)
+                                  (if tmp1482
+                                    (apply (lambda (x1483)
+                                             (cons '#(syntax-object
+                                                      vector
+                                                      ((top)
+                                                       #(ribcage
+                                                         #(x)
+                                                         #((top))
+                                                         #("i"))
+                                                       #(ribcage
+                                                         #(x)
+                                                         #((top))
+                                                         #("i"))
+                                                       #(ribcage () () ())
+                                                       #(ribcage () () ())
+                                                       #(ribcage
+                                                         #(x)
+                                                         #((top))
+                                                         #("i"))
+                                                       #(ribcage
+                                                         #(quasicons
+                                                           quasiappend
+                                                           quasivector
+                                                           quasi)
+                                                         #((top)
+                                                           (top)
+                                                           (top)
+                                                           (top))
+                                                         #("i" "i" "i" "i")))
+                                                      (hygiene guile))
+                                                   x1483))
+                                           tmp1482)
+                                    ((lambda (_1485)
+                                       (list '#(syntax-object
+                                                list->vector
+                                                ((top)
+                                                 #(ribcage
+                                                   #(_)
+                                                   #((top))
+                                                   #("i"))
+                                                 #(ribcage
+                                                   #(x)
+                                                   #((top))
+                                                   #("i"))
+                                                 #(ribcage () () ())
+                                                 #(ribcage () () ())
+                                                 #(ribcage
+                                                   #(x)
+                                                   #((top))
+                                                   #("i"))
+                                                 #(ribcage
+                                                   #(quasicons
+                                                     quasiappend
+                                                     quasivector
+                                                     quasi)
+                                                   #((top) (top) (top) (top))
+                                                   #("i" "i" "i" "i")))
+                                                (hygiene guile))
+                                             x1477))
+                                     tmp1478)))
+                                ($sc-dispatch
+                                  tmp1478
+                                  '(#(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
+                             tmp1478
+                             '(#(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))))
+                        x1477))
+                     tmp1476))
+                  x1475)))
+             (quasi1449
+               (lambda (p1486 lev1487)
+                 ((lambda (tmp1488)
+                    ((lambda (tmp1489)
+                       (if tmp1489
+                         (apply (lambda (p1490)
+                                  (if (= lev1487 0)
+                                    p1490
+                                    (quasicons1446
+                                      '(#(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)))
+                                      (quasi1449 (list p1490) (- lev1487 1)))))
+                                tmp1489)
+                         ((lambda (tmp1491)
+                            (if (if tmp1491
+                                  (apply (lambda (args1492) (= lev1487 0))
+                                         tmp1491)
+                                  #f)
+                              (apply (lambda (args1493)
+                                       (syntax-violation
+                                         'unquote
+                                         "unquote takes exactly one argument"
+                                         p1486
+                                         (cons '#(syntax-object
+                                                  unquote
+                                                  ((top)
+                                                   #(ribcage
+                                                     #(args)
+                                                     #((top))
+                                                     #("i"))
+                                                   #(ribcage () () ())
+                                                   #(ribcage
+                                                     #(p lev)
+                                                     #((top) (top))
+                                                     #("i" "i"))
+                                                   #(ribcage
+                                                     #(quasicons
+                                                       quasiappend
+                                                       quasivector
+                                                       quasi)
+                                                     #((top) (top) (top) (top))
+                                                     #("i" "i" "i" "i")))
+                                                  (hygiene guile))
+                                               args1493)))
+                                     tmp1491)
+                              ((lambda (tmp1494)
+                                 (if tmp1494
+                                   (apply (lambda (p1495 q1496)
+                                            (if (= lev1487 0)
+                                              (quasiappend1447
+                                                p1495
+                                                (quasi1449 q1496 lev1487))
+                                              (quasicons1446
+                                                (quasicons1446
+                                                  '(#(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)))
+                                                  (quasi1449
+                                                    (list p1495)
+                                                    (- lev1487 1)))
+                                                (quasi1449 q1496 lev1487))))
+                                          tmp1494)
+                                   ((lambda (tmp1497)
+                                      (if (if tmp1497
+                                            (apply (lambda (args1498 q1499)
+                                                     (= lev1487 0))
+                                                   tmp1497)
+                                            #f)
+                                        (apply (lambda (args1500 q1501)
+                                                 (syntax-violation
+                                                   'unquote-splicing
+                                                   "unquote-splicing takes exactly one argument"
+                                                   p1486
+                                                   (cons '#(syntax-object
+                                                            unquote-splicing
+                                                            ((top)
+                                                             #(ribcage
+                                                               #(args q)
+                                                               #((top) (top))
+                                                               #("i" "i"))
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(p lev)
+                                                               #((top) (top))
+                                                               #("i" "i"))
+                                                             #(ribcage
+                                                               #(quasicons
+                                                                 quasiappend
+                                                                 quasivector
+                                                                 quasi)
+                                                               #((top)
+                                                                 (top)
+                                                                 (top)
+                                                                 (top))
+                                                               #("i"
+                                                                 "i"
+                                                                 "i"
+                                                                 "i")))
+                                                            (hygiene guile))
+                                                         args1500)))
+                                               tmp1497)
+                                        ((lambda (tmp1502)
+                                           (if tmp1502
+                                             (apply (lambda (p1503)
+                                                      (quasicons1446
+                                                        '(#(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)))
+                                                        (quasi1449
+                                                          (list p1503)
+                                                          (+ lev1487 1))))
+                                                    tmp1502)
+                                             ((lambda (tmp1504)
+                                                (if tmp1504
+                                                  (apply (lambda (p1505 q1506)
+                                                           (quasicons1446
+                                                             (quasi1449
+                                                               p1505
+                                                               lev1487)
+                                                             (quasi1449
+                                                               q1506
+                                                               lev1487)))
+                                                         tmp1504)
+                                                  ((lambda (tmp1507)
+                                                     (if tmp1507
+                                                       (apply (lambda (x1508)
+                                                                (quasivector1448
+                                                                  (quasi1449
+                                                                    x1508
+                                                                    lev1487)))
+                                                              tmp1507)
+                                                       ((lambda (p1510)
+                                                          (list '#(syntax-object
+                                                                   quote
+                                                                   ((top)
+                                                                    #(ribcage
+                                                                      #(p)
+                                                                      #((top))
+                                                                      #("i"))
+                                                                    #(ribcage
+                                                                      ()
+                                                                      ()
+                                                                      ())
+                                                                    #(ribcage
+                                                                      #(p lev)
+                                                                      #((top)
+                                                                        (top))
+                                                                      #("i"
+                                                                        "i"))
+                                                                    #(ribcage
+                                                                      #(quasicons
+                                                                        quasiappend
+                                                                        quasivector
+                                                                        quasi)
+                                                                      #((top)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top))
+                                                                      #("i"
+                                                                        "i"
+                                                                        "i"
+                                                                        "i")))
+                                                                   (hygiene
+                                                                     guile))
+                                                                p1510))
+                                                        tmp1488)))
+                                                   ($sc-dispatch
+                                                     tmp1488
+                                                     '#(vector each-any)))))
+                                              ($sc-dispatch
+                                                tmp1488
+                                                '(any . any)))))
+                                         ($sc-dispatch
+                                           tmp1488
+                                           '(#(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
+                                      tmp1488
+                                      '((#(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
+                                 tmp1488
+                                 '((#(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
+                            tmp1488
+                            '(#(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
+                       tmp1488
+                       '(#(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))))
+                  p1486))))
+      (lambda (x1511)
+        ((lambda (tmp1512)
+           ((lambda (tmp1513)
+              (if tmp1513
+                (apply (lambda (_1514 e1515) (quasi1449 e1515 0))
+                       tmp1513)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp1512)))
+            ($sc-dispatch tmp1512 (quote (any any)))))
+         x1511)))))
+
+(define include
+  (make-syncase-macro
+    'macro
+    (lambda (x1516)
+      (letrec ((read-file1517
+                 (lambda (fn1518 k1519)
+                   (let ((p1520 (open-input-file fn1518)))
+                     (letrec ((f1521 (lambda (x1522)
+                                       (if (eof-object? x1522)
+                                         (begin
+                                           (close-input-port p1520)
+                                           '())
+                                         (cons (datum->syntax k1519 x1522)
+                                               (f1521 (read p1520)))))))
+                       (f1521 (read p1520)))))))
+        ((lambda (tmp1523)
+           ((lambda (tmp1524)
+              (if tmp1524
+                (apply (lambda (k1525 filename1526)
+                         (let ((fn1527 (syntax->datum filename1526)))
+                           ((lambda (tmp1528)
+                              ((lambda (tmp1529)
+                                 (if tmp1529
+                                   (apply (lambda (exp1530)
+                                            (cons '#(syntax-object
+                                                     begin
+                                                     ((top)
+                                                      #(ribcage
+                                                        #(exp)
+                                                        #((top))
+                                                        #("i"))
+                                                      #(ribcage () () ())
+                                                      #(ribcage () () ())
+                                                      #(ribcage
+                                                        #(fn)
+                                                        #((top))
+                                                        #("i"))
+                                                      #(ribcage
+                                                        #(k filename)
+                                                        #((top) (top))
+                                                        #("i" "i"))
+                                                      #(ribcage
+                                                        (read-file)
+                                                        ((top))
+                                                        ("i"))
+                                                      #(ribcage
+                                                        #(x)
+                                                        #((top))
+                                                        #("i")))
+                                                     (hygiene guile))
+                                                  exp1530))
+                                          tmp1529)
+                                   (syntax-violation
+                                     #f
+                                     "source expression failed to match any pattern"
+                                     tmp1528)))
+                               ($sc-dispatch tmp1528 (quote each-any))))
+                            (read-file1517 fn1527 k1525))))
+                       tmp1524)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  tmp1523)))
+            ($sc-dispatch tmp1523 (quote (any any)))))
+         x1516)))))
+
+(define unquote
+  (make-syncase-macro
+    'macro
+    (lambda (x1532)
+      ((lambda (tmp1533)
+         ((lambda (tmp1534)
+            (if tmp1534
+              (apply (lambda (_1535 e1536)
+                       (syntax-violation
+                         'unquote
+                         "expression not valid outside of quasiquote"
+                         x1532))
+                     tmp1534)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1533)))
+          ($sc-dispatch tmp1533 (quote (any any)))))
+       x1532))))
+
+(define unquote-splicing
+  (make-syncase-macro
+    'macro
+    (lambda (x1537)
+      ((lambda (tmp1538)
+         ((lambda (tmp1539)
+            (if tmp1539
+              (apply (lambda (_1540 e1541)
+                       (syntax-violation
+                         'unquote-splicing
+                         "expression not valid outside of quasiquote"
+                         x1537))
+                     tmp1539)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1538)))
+          ($sc-dispatch tmp1538 (quote (any any)))))
+       x1537))))
+
+(define case
+  (make-extended-syncase-macro
+    (module-ref (current-module) (quote case))
+    'macro
+    (lambda (x1542)
+      ((lambda (tmp1543)
+         ((lambda (tmp1544)
+            (if tmp1544
+              (apply (lambda (_1545 e1546 m11547 m21548)
+                       ((lambda (tmp1549)
+                          ((lambda (body1550)
+                             (list '#(syntax-object
+                                      let
+                                      ((top)
+                                       #(ribcage #(body) #((top)) #("i"))
+                                       #(ribcage
+                                         #(_ e m1 m2)
+                                         #((top) (top) (top) (top))
+                                         #("i" "i" "i" "i"))
+                                       #(ribcage () () ())
+                                       #(ribcage #(x) #((top)) #("i")))
+                                      (hygiene guile))
+                                   (list (list '#(syntax-object
+                                                  t
+                                                  ((top)
+                                                   #(ribcage
+                                                     #(body)
+                                                     #((top))
+                                                     #("i"))
+                                                   #(ribcage
+                                                     #(_ e m1 m2)
+                                                     #((top) (top) (top) (top))
+                                                     #("i" "i" "i" "i"))
+                                                   #(ribcage () () ())
+                                                   #(ribcage
+                                                     #(x)
+                                                     #((top))
+                                                     #("i")))
+                                                  (hygiene guile))
+                                               e1546))
+                                   body1550))
+                           tmp1549))
+                        (letrec ((f1551 (lambda (clause1552 clauses1553)
+                                          (if (null? clauses1553)
+                                            ((lambda (tmp1555)
+                                               ((lambda (tmp1556)
+                                                  (if tmp1556
+                                                    (apply (lambda (e11557
+                                                                    e21558)
+                                                             (cons '#(syntax-object
+                                                                      begin
+                                                                      ((top)
+                                                                       #(ribcage
+                                                                         #(e1
+                                                                           e2)
+                                                                         #((top)
+                                                                           (top))
+                                                                         #("i"
+                                                                           "i"))
+                                                                       #(ribcage
+                                                                         ()
+                                                                         ()
+                                                                         ())
+                                                                       #(ribcage
+                                                                         #(f
+                                                                           clause
+                                                                           clauses)
+                                                                         #((top)
+                                                                           (top)
+                                                                           (top))
+                                                                         #("i"
+                                                                           "i"
+                                                                           "i"))
+                                                                       #(ribcage
+                                                                         #(_
+                                                                           e
+                                                                           m1
+                                                                           m2)
+                                                                         #((top)
+                                                                           (top)
+                                                                           (top)
+                                                                           (top))
+                                                                         #("i"
+                                                                           "i"
+                                                                           "i"
+                                                                           "i"))
+                                                                       #(ribcage
+                                                                         ()
+                                                                         ()
+                                                                         ())
+                                                                       #(ribcage
+                                                                         #(x)
+                                                                         #((top))
+                                                                         #("i")))
+                                                                      (hygiene
+                                                                        guile))
+                                                                   (cons e11557
+                                                                         e21558)))
+                                                           tmp1556)
+                                                    ((lambda (tmp1560)
+                                                       (if tmp1560
+                                                         (apply (lambda (k1561
+                                                                         e11562
+                                                                         e21563)
+                                                                  (list '#(syntax-object
+                                                                           if
+                                                                           ((top)
+                                                                            #(ribcage
+                                                                              #(k
+                                                                                e1
+                                                                                e2)
+                                                                              #((top)
+                                                                                (top)
+                                                                                (top))
+                                                                              #("i"
+                                                                                "i"
+                                                                                "i"))
+                                                                            #(ribcage
+                                                                              ()
+                                                                              ()
+                                                                              ())
+                                                                            #(ribcage
+                                                                              #(f
+                                                                                clause
+                                                                                clauses)
+                                                                              #((top)
+                                                                                (top)
+                                                                                (top))
+                                                                              #("i"
+                                                                                "i"
+                                                                                "i"))
+                                                                            #(ribcage
+                                                                              #(_
+                                                                                e
+                                                                                m1
+                                                                                m2)
+                                                                              #((top)
+                                                                                (top)
+                                                                                (top)
+                                                                                (top))
+                                                                              #("i"
+                                                                                "i"
+                                                                                "i"
+                                                                                "i"))
+                                                                            #(ribcage
+                                                                              ()
+                                                                              ()
+                                                                              ())
+                                                                            #(ribcage
+                                                                              #(x)
+                                                                              #((top))
+                                                                              #("i")))
+                                                                           (hygiene
+                                                                             guile))
+                                                                        (list '#(syntax-object
+                                                                                 memv
+                                                                                 ((top)
+                                                                                  #(ribcage
+                                                                                    #(k
+                                                                                      e1
+                                                                                      e2)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    ()
+                                                                                    ()
+                                                                                    ())
+                                                                                  #(ribcage
+                                                                                    #(f
+                                                                                      clause
+                                                                                      clauses)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    #(_
+                                                                                      e
+                                                                                      m1
+                                                                                      m2)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    ()
+                                                                                    ()
+                                                                                    ())
+                                                                                  #(ribcage
+                                                                                    #(x)
+                                                                                    #((top))
+                                                                                    #("i")))
+                                                                                 (hygiene
+                                                                                   guile))
+                                                                              '#(syntax-object
+                                                                                 t
+                                                                                 ((top)
+                                                                                  #(ribcage
+                                                                                    #(k
+                                                                                      e1
+                                                                                      e2)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    ()
+                                                                                    ()
+                                                                                    ())
+                                                                                  #(ribcage
+                                                                                    #(f
+                                                                                      clause
+                                                                                      clauses)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    #(_
+                                                                                      e
+                                                                                      m1
+                                                                                      m2)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    ()
+                                                                                    ()
+                                                                                    ())
+                                                                                  #(ribcage
+                                                                                    #(x)
+                                                                                    #((top))
+                                                                                    #("i")))
+                                                                                 (hygiene
+                                                                                   guile))
+                                                                              (list '#(syntax-object
+                                                                                       quote
+                                                                                       ((top)
+                                                                                        #(ribcage
+                                                                                          #(k
+                                                                                            e1
+                                                                                            e2)
+                                                                                          #((top)
+                                                                                            (top)
+                                                                                            (top))
+                                                                                          #("i"
+                                                                                            "i"
+                                                                                            "i"))
+                                                                                        #(ribcage
+                                                                                          ()
+                                                                                          ()
+                                                                                          ())
+                                                                                        #(ribcage
+                                                                                          #(f
+                                                                                            clause
+                                                                                            clauses)
+                                                                                          #((top)
+                                                                                            (top)
+                                                                                            (top))
+                                                                                          #("i"
+                                                                                            "i"
+                                                                                            "i"))
+                                                                                        #(ribcage
+                                                                                          #(_
+                                                                                            e
+                                                                                            m1
+                                                                                            m2)
+                                                                                          #((top)
+                                                                                            (top)
+                                                                                            (top)
+                                                                                            (top))
+                                                                                          #("i"
+                                                                                            "i"
+                                                                                            "i"
+                                                                                            "i"))
+                                                                                        #(ribcage
+                                                                                          ()
+                                                                                          ()
+                                                                                          ())
+                                                                                        #(ribcage
+                                                                                          #(x)
+                                                                                          #((top))
+                                                                                          #("i")))
+                                                                                       (hygiene
+                                                                                         guile))
+                                                                                    k1561))
+                                                                        (cons '#(syntax-object
+                                                                                 begin
+                                                                                 ((top)
+                                                                                  #(ribcage
+                                                                                    #(k
+                                                                                      e1
+                                                                                      e2)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    ()
+                                                                                    ()
+                                                                                    ())
+                                                                                  #(ribcage
+                                                                                    #(f
+                                                                                      clause
+                                                                                      clauses)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    #(_
+                                                                                      e
+                                                                                      m1
+                                                                                      m2)
+                                                                                    #((top)
+                                                                                      (top)
+                                                                                      (top)
+                                                                                      (top))
+                                                                                    #("i"
+                                                                                      "i"
+                                                                                      "i"
+                                                                                      "i"))
+                                                                                  #(ribcage
+                                                                                    ()
+                                                                                    ()
+                                                                                    ())
+                                                                                  #(ribcage
+                                                                                    #(x)
+                                                                                    #((top))
+                                                                                    #("i")))
+                                                                                 (hygiene
+                                                                                   guile))
+                                                                              (cons e11562
+                                                                                    e21563))))
+                                                                tmp1560)
+                                                         ((lambda (_1566)
+                                                            (syntax-violation
+                                                              'case
+                                                              "bad clause"
+                                                              x1542
+                                                              clause1552))
+                                                          tmp1555)))
+                                                     ($sc-dispatch
+                                                       tmp1555
+                                                       '(each-any
+                                                          any
+                                                          .
+                                                          each-any)))))
+                                                ($sc-dispatch
+                                                  tmp1555
+                                                  '(#(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))))
+                                             clause1552)
+                                            ((lambda (tmp1567)
+                                               ((lambda (rest1568)
+                                                  ((lambda (tmp1569)
+                                                     ((lambda (tmp1570)
+                                                        (if tmp1570
+                                                          (apply (lambda (k1571
+                                                                          e11572
+                                                                          e21573)
+                                                                   (list '#(syntax-object
+                                                                            if
+                                                                            ((top)
+                                                                             #(ribcage
+                                                                               #(k
+                                                                                 e1
+                                                                                 e2)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               #(rest)
+                                                                               #((top))
+                                                                               #("i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(f
+                                                                                 clause
+                                                                                 clauses)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               #(_
+                                                                                 e
+                                                                                 m1
+                                                                                 m2)
+                                                                               #((top)
+                                                                                 (top)
+                                                                                 (top)
+                                                                                 (top))
+                                                                               #("i"
+                                                                                 "i"
+                                                                                 "i"
+                                                                                 "i"))
+                                                                             #(ribcage
+                                                                               ()
+                                                                               ()
+                                                                               ())
+                                                                             #(ribcage
+                                                                               #(x)
+                                                                               #((top))
+                                                                               #("i")))
+                                                                            (hygiene
+                                                                              guile))
+                                                                         (list '#(syntax-object
+                                                                                  memv
+                                                                                  ((top)
+                                                                                   #(ribcage
+                                                                                     #(k
+                                                                                       e1
+                                                                                       e2)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     #(rest)
+                                                                                     #((top))
+                                                                                     #("i"))
+                                                                                   #(ribcage
+                                                                                     ()
+                                                                                     ()
+                                                                                     ())
+                                                                                   #(ribcage
+                                                                                     #(f
+                                                                                       clause
+                                                                                       clauses)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     #(_
+                                                                                       e
+                                                                                       m1
+                                                                                       m2)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     ()
+                                                                                     ()
+                                                                                     ())
+                                                                                   #(ribcage
+                                                                                     #(x)
+                                                                                     #((top))
+                                                                                     #("i")))
+                                                                                  (hygiene
+                                                                                    guile))
+                                                                               '#(syntax-object
+                                                                                  t
+                                                                                  ((top)
+                                                                                   #(ribcage
+                                                                                     #(k
+                                                                                       e1
+                                                                                       e2)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     #(rest)
+                                                                                     #((top))
+                                                                                     #("i"))
+                                                                                   #(ribcage
+                                                                                     ()
+                                                                                     ()
+                                                                                     ())
+                                                                                   #(ribcage
+                                                                                     #(f
+                                                                                       clause
+                                                                                       clauses)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     #(_
+                                                                                       e
+                                                                                       m1
+                                                                                       m2)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     ()
+                                                                                     ()
+                                                                                     ())
+                                                                                   #(ribcage
+                                                                                     #(x)
+                                                                                     #((top))
+                                                                                     #("i")))
+                                                                                  (hygiene
+                                                                                    guile))
+                                                                               (list '#(syntax-object
+                                                                                        quote
+                                                                                        ((top)
+                                                                                         #(ribcage
+                                                                                           #(k
+                                                                                             e1
+                                                                                             e2)
+                                                                                           #((top)
+                                                                                             (top)
+                                                                                             (top))
+                                                                                           #("i"
+                                                                                             "i"
+                                                                                             "i"))
+                                                                                         #(ribcage
+                                                                                           #(rest)
+                                                                                           #((top))
+                                                                                           #("i"))
+                                                                                         #(ribcage
+                                                                                           ()
+                                                                                           ()
+                                                                                           ())
+                                                                                         #(ribcage
+                                                                                           #(f
+                                                                                             clause
+                                                                                             clauses)
+                                                                                           #((top)
+                                                                                             (top)
+                                                                                             (top))
+                                                                                           #("i"
+                                                                                             "i"
+                                                                                             "i"))
+                                                                                         #(ribcage
+                                                                                           #(_
+                                                                                             e
+                                                                                             m1
+                                                                                             m2)
+                                                                                           #((top)
+                                                                                             (top)
+                                                                                             (top)
+                                                                                             (top))
+                                                                                           #("i"
+                                                                                             "i"
+                                                                                             "i"
+                                                                                             "i"))
+                                                                                         #(ribcage
+                                                                                           ()
+                                                                                           ()
+                                                                                           ())
+                                                                                         #(ribcage
+                                                                                           #(x)
+                                                                                           #((top))
+                                                                                           #("i")))
+                                                                                        (hygiene
+                                                                                          guile))
+                                                                                     k1571))
+                                                                         (cons '#(syntax-object
+                                                                                  begin
+                                                                                  ((top)
+                                                                                   #(ribcage
+                                                                                     #(k
+                                                                                       e1
+                                                                                       e2)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     #(rest)
+                                                                                     #((top))
+                                                                                     #("i"))
+                                                                                   #(ribcage
+                                                                                     ()
+                                                                                     ()
+                                                                                     ())
+                                                                                   #(ribcage
+                                                                                     #(f
+                                                                                       clause
+                                                                                       clauses)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     #(_
+                                                                                       e
+                                                                                       m1
+                                                                                       m2)
+                                                                                     #((top)
+                                                                                       (top)
+                                                                                       (top)
+                                                                                       (top))
+                                                                                     #("i"
+                                                                                       "i"
+                                                                                       "i"
+                                                                                       "i"))
+                                                                                   #(ribcage
+                                                                                     ()
+                                                                                     ()
+                                                                                     ())
+                                                                                   #(ribcage
+                                                                                     #(x)
+                                                                                     #((top))
+                                                                                     #("i")))
+                                                                                  (hygiene
+                                                                                    guile))
+                                                                               (cons e11572
+                                                                                     e21573))
+                                                                         rest1568))
+                                                                 tmp1570)
+                                                          ((lambda (_1576)
+                                                             (syntax-violation
+                                                               'case
+                                                               "bad clause"
+                                                               x1542
+                                                               clause1552))
+                                                           tmp1569)))
+                                                      ($sc-dispatch
+                                                        tmp1569
+                                                        '(each-any
+                                                           any
+                                                           .
+                                                           each-any))))
+                                                   clause1552))
+                                                tmp1567))
+                                             (f1551 (car clauses1553)
+                                                    (cdr clauses1553)))))))
+                          (f1551 m11547 m21548))))
+                     tmp1544)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1543)))
+          ($sc-dispatch
+            tmp1543
+            '(any any any . each-any))))
+       x1542))))
+
+(define identifier-syntax
+  (make-syncase-macro
+    'macro
+    (lambda (x1577)
+      ((lambda (tmp1578)
+         ((lambda (tmp1579)
+            (if tmp1579
+              (apply (lambda (_1580 e1581)
+                       (list '#(syntax-object
+                                lambda
+                                ((top)
+                                 #(ribcage #(_ e) #((top) (top)) #("i" "i"))
+                                 #(ribcage () () ())
+                                 #(ribcage #(x) #((top)) #("i")))
+                                (hygiene guile))
+                             '(#(syntax-object
+                                 x
+                                 ((top)
+                                  #(ribcage #(_ e) #((top) (top)) #("i" "i"))
+                                  #(ribcage () () ())
+                                  #(ribcage #(x) #((top)) #("i")))
+                                 (hygiene guile)))
+                             (list '#(syntax-object
+                                      syntax-case
+                                      ((top)
+                                       #(ribcage
+                                         #(_ e)
+                                         #((top) (top))
+                                         #("i" "i"))
+                                       #(ribcage () () ())
+                                       #(ribcage #(x) #((top)) #("i")))
+                                      (hygiene guile))
+                                   '#(syntax-object
+                                      x
+                                      ((top)
+                                       #(ribcage
+                                         #(_ e)
+                                         #((top) (top))
+                                         #("i" "i"))
+                                       #(ribcage () () ())
+                                       #(ribcage #(x) #((top)) #("i")))
+                                      (hygiene guile))
+                                   '()
+                                   (list '#(syntax-object
+                                            id
+                                            ((top)
+                                             #(ribcage
+                                               #(_ e)
+                                               #((top) (top))
+                                               #("i" "i"))
+                                             #(ribcage () () ())
+                                             #(ribcage #(x) #((top)) #("i")))
+                                            (hygiene guile))
+                                         '(#(syntax-object
+                                             identifier?
+                                             ((top)
+                                              #(ribcage
+                                                #(_ e)
+                                                #((top) (top))
+                                                #("i" "i"))
+                                              #(ribcage () () ())
+                                              #(ribcage #(x) #((top)) #("i")))
+                                             (hygiene guile))
+                                           (#(syntax-object
+                                              syntax
+                                              ((top)
+                                               #(ribcage
+                                                 #(_ e)
+                                                 #((top) (top))
+                                                 #("i" "i"))
+                                               #(ribcage () () ())
+                                               #(ribcage #(x) #((top)) #("i")))
+                                              (hygiene guile))
+                                            #(syntax-object
+                                              id
+                                              ((top)
+                                               #(ribcage
+                                                 #(_ e)
+                                                 #((top) (top))
+                                                 #("i" "i"))
+                                               #(ribcage () () ())
+                                               #(ribcage #(x) #((top)) #("i")))
+                                              (hygiene guile))))
+                                         (list '#(syntax-object
+                                                  syntax
+                                                  ((top)
+                                                   #(ribcage
+                                                     #(_ e)
+                                                     #((top) (top))
+                                                     #("i" "i"))
+                                                   #(ribcage () () ())
+                                                   #(ribcage
+                                                     #(x)
+                                                     #((top))
+                                                     #("i")))
+                                                  (hygiene guile))
+                                               e1581))
+                                   (list (cons _1580
+                                               '(#(syntax-object
+                                                   x
+                                                   ((top)
+                                                    #(ribcage
+                                                      #(_ e)
+                                                      #((top) (top))
+                                                      #("i" "i"))
+                                                    #(ribcage () () ())
+                                                    #(ribcage
+                                                      #(x)
+                                                      #((top))
+                                                      #("i")))
+                                                   (hygiene guile))
+                                                 #(syntax-object
+                                                   ...
+                                                   ((top)
+                                                    #(ribcage
+                                                      #(_ e)
+                                                      #((top) (top))
+                                                      #("i" "i"))
+                                                    #(ribcage () () ())
+                                                    #(ribcage
+                                                      #(x)
+                                                      #((top))
+                                                      #("i")))
+                                                   (hygiene guile))))
+                                         (list '#(syntax-object
+                                                  syntax
+                                                  ((top)
+                                                   #(ribcage
+                                                     #(_ e)
+                                                     #((top) (top))
+                                                     #("i" "i"))
+                                                   #(ribcage () () ())
+                                                   #(ribcage
+                                                     #(x)
+                                                     #((top))
+                                                     #("i")))
+                                                  (hygiene guile))
+                                               (cons e1581
+                                                     '(#(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)))))))))
+                     tmp1579)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                tmp1578)))
+          ($sc-dispatch tmp1578 (quote (any any)))))
+       x1577))))
+