(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/srfi/116#<ilist>
    (make-struct-type
     'std/srfi/116#<ilist>
     '#f
     '2
     '<ilist>
     '((fields: icar icdr))
     '#f))
  (define std/srfi/116#ipair? (make-struct-predicate std/srfi/116#<ilist>))
  (define std/srfi/116#icar
    (make-struct-field-accessor std/srfi/116#<ilist> '0))
  (define std/srfi/116#icdr
    (make-struct-field-accessor std/srfi/116#<ilist> '1))
  (define std/srfi/116#ipair
    (lambda (_icar1590_ _icdr1591_)
      (make-struct-instance std/srfi/116#<ilist> _icar1590_ _icdr1591_)))
  (define std/srfi/116#replace-icar
    (lambda (_old1587_ _new1588_)
      (let ((__tmp5190
             (##structure-ref _old1587_ '2 std/srfi/116#<ilist> '#f)))
        (declare (not safe))
        (##structure std/srfi/116#<ilist> _new1588_ __tmp5190))))
  (define std/srfi/116#replace-icdr
    (lambda (_old1584_ _new1585_)
      (let ((__tmp5191
             (##structure-ref _old1584_ '1 std/srfi/116#<ilist> '#f)))
        (declare (not safe))
        (##structure std/srfi/116#<ilist> __tmp5191 _new1585_))))
  (define std/srfi/116#pair->ipair
    (lambda (_pair1582_)
      (let ((__tmp5193 (car _pair1582_)) (__tmp5192 (cdr _pair1582_)))
        (declare (not safe))
        (##structure std/srfi/116#<ilist> __tmp5193 __tmp5192))))
  (define std/srfi/116#ipair->pair
    (lambda (_ipair1580_)
      (cons (##structure-ref _ipair1580_ '1 std/srfi/116#<ilist> '#f)
            (##structure-ref _ipair1580_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#list->ilist
    (lambda (_list1574_)
      (let _lp1576_ ((_list1578_ _list1574_))
        (if (pair? _list1578_)
            (let ((__tmp5195 (car _list1578_))
                  (__tmp5194 (_lp1576_ (cdr _list1578_))))
              (declare (not safe))
              (##structure std/srfi/116#<ilist> __tmp5195 __tmp5194))
            _list1578_))))
  (define std/srfi/116#ilist
    (lambda _objs1572_ (std/srfi/116#list->ilist _objs1572_)))
  (define std/srfi/116#ilist->list
    (lambda (_ilist1566_)
      (let _lp1568_ ((_ilist1570_ _ilist1566_))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _ilist1570_ 'std/srfi/116#<ilist>))
            (cons (##structure-ref _ilist1570_ '1 std/srfi/116#<ilist> '#f)
                  (_lp1568_
                   (##structure-ref _ilist1570_ '2 std/srfi/116#<ilist> '#f)))
            _ilist1570_))))
  (define std/srfi/116#tree->itree
    (lambda (_obj1564_)
      (if (pair? _obj1564_)
          (let ((__tmp5197 (std/srfi/116#tree->itree (car _obj1564_)))
                (__tmp5196 (std/srfi/116#tree->itree (cdr _obj1564_))))
            (declare (not safe))
            (##structure std/srfi/116#<ilist> __tmp5197 __tmp5196))
          _obj1564_)))
  (define std/srfi/116#itree->tree
    (lambda (_obj1562_)
      (if (let ()
            (declare (not safe))
            (##structure-instance-of? _obj1562_ 'std/srfi/116#<ilist>))
          (cons (std/srfi/116#itree->tree
                 (##structure-ref _obj1562_ '1 std/srfi/116#<ilist> '#f))
                (std/srfi/116#itree->tree
                 (##structure-ref _obj1562_ '2 std/srfi/116#<ilist> '#f)))
          _obj1562_)))
  (define std/srfi/116#gtree->itree
    (lambda (_obj1560_)
      (if (pair? _obj1560_)
          (let ((__tmp5199 (std/srfi/116#gtree->itree (car _obj1560_)))
                (__tmp5198 (std/srfi/116#gtree->itree (cdr _obj1560_))))
            (declare (not safe))
            (##structure std/srfi/116#<ilist> __tmp5199 __tmp5198))
          (if (let ()
                (declare (not safe))
                (##structure-instance-of? _obj1560_ 'std/srfi/116#<ilist>))
              (let ((__tmp5201
                     (std/srfi/116#gtree->itree
                      (##structure-ref _obj1560_ '1 std/srfi/116#<ilist> '#f)))
                    (__tmp5200
                     (std/srfi/116#gtree->itree
                      (##structure-ref
                       _obj1560_
                       '2
                       std/srfi/116#<ilist>
                       '#f))))
                (declare (not safe))
                (##structure std/srfi/116#<ilist> __tmp5201 __tmp5200))
              _obj1560_))))
  (define std/srfi/116#gtree->tree
    (lambda (_obj1558_)
      (if (pair? _obj1558_)
          (cons (std/srfi/116#gtree->tree (car _obj1558_))
                (std/srfi/116#gtree->tree (cdr _obj1558_)))
          (if (let ()
                (declare (not safe))
                (##structure-instance-of? _obj1558_ 'std/srfi/116#<ilist>))
              (cons (std/srfi/116#gtree->tree
                     (##structure-ref _obj1558_ '1 std/srfi/116#<ilist> '#f))
                    (std/srfi/116#gtree->tree
                     (##structure-ref _obj1558_ '2 std/srfi/116#<ilist> '#f)))
              _obj1558_))))
  (define std/srfi/116#take!
    (lambda (_ls1553_ _i1554_)
      (if (<= _i1554_ '0)
          '()
          (let ((_tail1556_ (list-tail _ls1553_ (- _i1554_ '1))))
            (set-cdr! _tail1556_ '())
            _ls1553_))))
  (define std/srfi/116#drop-right!
    (lambda (_ls1550_ _i1551_)
      (std/srfi/116#take! _ls1550_ (- (length _ls1550_) _i1551_))))
  (define std/srfi/116#last
    (lambda (_ls1548_)
      (if (null? (cdr _ls1548_))
          (car _ls1548_)
          (std/srfi/116#last (cdr _ls1548_)))))
  (define std/srfi/116#iapply
    (lambda (_proc1543_ . _ilists1544_)
      (if (null? _ilists1544_)
          (apply _proc1543_ '())
          (if (null? (cdr _ilists1544_))
              (apply _proc1543_ (std/srfi/116#ilist->list (car _ilists1544_)))
              (let ((_final1546_
                     (std/srfi/116#ilist->list
                      (std/srfi/116#last _ilists1544_))))
                (apply _proc1543_
                       (append (std/srfi/116#drop-right! _ilists1544_ '1)
                               _final1546_)))))))
  (define std/srfi/116#write-ipair
    (lambda (_ipair1540_ _port1541_)
      (write (std/srfi/116#gtree->tree _ipair1540_) _port1541_)))
  (define std/srfi/116#iassq
    (lambda (_x1535_ _lis1536_)
      (std/srfi/116#ifind
       (lambda (_entry1538_)
         (eq? _x1535_
              (##structure-ref _entry1538_ '1 std/srfi/116#<ilist> '#f)))
       _lis1536_)))
  (define std/srfi/116#iassv
    (lambda (_x1530_ _lis1531_)
      (std/srfi/116#ifind
       (lambda (_entry1533_)
         (eqv? _x1530_
               (##structure-ref _entry1533_ '1 std/srfi/116#<ilist> '#f)))
       _lis1531_)))
  (define std/srfi/116#ifor-each
    (lambda (_proc1514_ _lis11515_ . _lists1516_)
      (std/srfi/116#check-arg
       procedure?
       _proc1514_
       std/srfi/116#ipair-for-each)
      (if (pair? _lists1516_)
          (let _lp1518_ ((_lists1520_ (cons _lis11515_ _lists1516_)))
            (let ((_tails1522_ (std/srfi/116#%cdrs _lists1520_)))
              (if (pair? _tails1522_)
                  (begin
                    (apply _proc1514_ (map std/srfi/116#icar _lists1520_))
                    (_lp1518_ _tails1522_))
                  '#!void)))
          (let _lp1524_ ((_lis1526_ _lis11515_))
            (if (not (std/srfi/116#null-ilist? _lis1526_))
                (let ((_tail1528_
                       (##structure-ref
                        _lis1526_
                        '2
                        std/srfi/116#<ilist>
                        '#f)))
                  (_proc1514_
                   (##structure-ref _lis1526_ '1 std/srfi/116#<ilist> '#f))
                  (_lp1524_ _tail1528_))
                '#!void)))))
  (define std/srfi/116#check-arg
    (lambda (_pred1506_ _val1507_ _caller1508_)
      (let _lp1510_ ((_val1512_ _val1507_))
        (if (_pred1506_ _val1512_)
            _val1512_
            (_lp1510_
             (error '"Bad argument" _val1512_ _pred1506_ _caller1508_))))))
  (define std/srfi/116#xipair
    (lambda (_d1503_ _a1504_)
      (let ()
        (declare (not safe))
        (##structure std/srfi/116#<ilist> _a1504_ _d1503_))))
  (define std/srfi/116#make-ilist
    (lambda (_len1490_ . _maybe-elt1491_)
      (std/srfi/116#check-arg
       (lambda (_n1493_) (if (integer? _n1493_) (>= _n1493_ '0) '#f))
       _len1490_
       std/srfi/116#make-ilist)
      (let ((_elt1495_
             (if (null? _maybe-elt1491_)
                 '#f
                 (if (null? (cdr _maybe-elt1491_))
                     (car _maybe-elt1491_)
                     (error '"Too many arguments to MAKE-ILIST"
                            (let ()
                              (declare (not safe))
                              (##structure
                               std/srfi/116#<ilist>
                               _len1490_
                               _maybe-elt1491_)))))))
        (let _$loop1497_ ((_i1500_ _len1490_) (_ans1501_ '()))
          (if (<= _i1500_ '0)
              _ans1501_
              (_$loop1497_
               (- _i1500_ '1)
               (let ()
                 (declare (not safe))
                 (##structure std/srfi/116#<ilist> _elt1495_ _ans1501_))))))))
  (define std/srfi/116#ilist-tabulate
    (lambda (_len1479_ _proc1480_)
      (std/srfi/116#check-arg
       (lambda (_n1482_) (if (integer? _n1482_) (>= _n1482_ '0) '#f))
       _len1479_
       std/srfi/116#ilist-tabulate)
      (std/srfi/116#check-arg
       procedure?
       _proc1480_
       std/srfi/116#ilist-tabulate)
      (let _$loop1484_ ((_i1487_ (- _len1479_ '1)) (_ans1488_ '()))
        (if (< _i1487_ '0)
            _ans1488_
            (_$loop1484_
             (- _i1487_ '1)
             (let ((__tmp5202 (_proc1480_ _i1487_)))
               (declare (not safe))
               (##structure std/srfi/116#<ilist> __tmp5202 _ans1488_)))))))
  (define std/srfi/116#ipair*
    (lambda (_ifirst1471_ . _rest1472_)
      (let _recur1474_ ((_x1476_ _ifirst1471_) (_rest1477_ _rest1472_))
        (if (pair? _rest1477_)
            (let ((__tmp5203 (_recur1474_ (car _rest1477_) (cdr _rest1477_))))
              (declare (not safe))
              (##structure std/srfi/116#<ilist> _x1476_ __tmp5203))
            _x1476_))))
  (define std/srfi/116#ilist-copy
    (lambda (_lis1465_)
      (let _recur1467_ ((_lis1469_ _lis1465_))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _lis1469_ 'std/srfi/116#<ilist>))
            (let ((__tmp5205
                   (##structure-ref _lis1469_ '1 std/srfi/116#<ilist> '#f))
                  (__tmp5204
                   (_recur1467_
                    (##structure-ref _lis1469_ '2 std/srfi/116#<ilist> '#f))))
              (declare (not safe))
              (##structure std/srfi/116#<ilist> __tmp5205 __tmp5204))
            _lis1469_))))
  (define std/srfi/116#iiota
    (lambda (_count1454_ . _maybe-start+step1455_)
      (std/srfi/116#check-arg integer? _count1454_ std/srfi/116#iiota)
      (if (< _count1454_ '0)
          (error '"Negative step count" std/srfi/116#iiota _count1454_)
          '#!void)
      (let ((_start1457_
             (if (pair? _maybe-start+step1455_)
                 (car _maybe-start+step1455_)
                 '0))
            (_step1458_
             (if (and (pair? _maybe-start+step1455_)
                      (pair? (cdr _maybe-start+step1455_)))
                 (cadr _maybe-start+step1455_)
                 '1)))
        (std/srfi/116#check-arg number? _start1457_ std/srfi/116#iiota)
        (std/srfi/116#check-arg number? _step1458_ std/srfi/116#iiota)
        (let _loop1460_ ((_n1462_ '0) (_r1463_ '()))
          (if (= _n1462_ _count1454_)
              (std/srfi/116#ireverse _r1463_)
              (_loop1460_
               (+ '1 _n1462_)
               (let ((__tmp5206 (+ _start1457_ (* _n1462_ _step1458_))))
                 (declare (not safe))
                 (##structure std/srfi/116#<ilist> __tmp5206 _r1463_))))))))
  (define std/srfi/116#ilist?
    (lambda (_x1452_) (std/srfi/116#proper-ilist? _x1452_)))
  (define std/srfi/116#proper-ilist?
    (lambda (_x1440_)
      (let _lp1442_ ((_x1444_ _x1440_) (_lag1445_ _x1440_))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _x1444_ 'std/srfi/116#<ilist>))
            (let ((_x1447_ (##structure-ref
                            _x1444_
                            '2
                            std/srfi/116#<ilist>
                            '#f)))
              (if (let ()
                    (declare (not safe))
                    (##structure-instance-of? _x1447_ 'std/srfi/116#<ilist>))
                  (let ((_x1449_ (##structure-ref
                                  _x1447_
                                  '2
                                  std/srfi/116#<ilist>
                                  '#f))
                        (_lag1450_
                         (##structure-ref
                          _lag1445_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                    (if (not (eq? _x1449_ _lag1450_))
                        (_lp1442_ _x1449_ _lag1450_)
                        '#f))
                  (null? _x1447_)))
            (null? _x1444_)))))
  (define std/srfi/116#dotted-ilist?
    (lambda (_x1428_)
      (let _lp1430_ ((_x1432_ _x1428_) (_lag1433_ _x1428_))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _x1432_ 'std/srfi/116#<ilist>))
            (let ((_x1435_ (##structure-ref
                            _x1432_
                            '2
                            std/srfi/116#<ilist>
                            '#f)))
              (if (let ()
                    (declare (not safe))
                    (##structure-instance-of? _x1435_ 'std/srfi/116#<ilist>))
                  (let ((_x1437_ (##structure-ref
                                  _x1435_
                                  '2
                                  std/srfi/116#<ilist>
                                  '#f))
                        (_lag1438_
                         (##structure-ref
                          _lag1433_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                    (if (not (eq? _x1437_ _lag1438_))
                        (_lp1430_ _x1437_ _lag1438_)
                        '#f))
                  (not (null? _x1435_))))
            (not (null? _x1432_))))))
  (define std/srfi/116#not-ipair?
    (lambda (_x1426_)
      (not (let ()
             (declare (not safe))
             (##structure-instance-of? _x1426_ 'std/srfi/116#<ilist>)))))
  (define std/srfi/116#null-ilist?
    (lambda (_l1424_)
      (if (let ()
            (declare (not safe))
            (##structure-instance-of? _l1424_ 'std/srfi/116#<ilist>))
          '#f
          (if (null? _l1424_)
              '#t
              (error '"null-ilist?: argument out of domain" _l1424_)))))
  (define std/srfi/116#ilist=
    (lambda (_=1402_ . _ilists1403_)
      (let ((_$e1405_ (null? _ilists1403_)))
        (if _$e1405_
            _$e1405_
            (let _lp11408_ ((_ilist-a1410_ (car _ilists1403_))
                            (_others1411_ (cdr _ilists1403_)))
              (let ((_$e1413_ (null? _others1411_)))
                (if _$e1413_
                    _$e1413_
                    (let ((_ilist-b1416_ (car _others1411_))
                          (_others1417_ (cdr _others1411_)))
                      (if (eq? _ilist-a1410_ _ilist-b1416_)
                          (_lp11408_ _ilist-b1416_ _others1417_)
                          (let _lp21419_ ((_pair-a1421_ _ilist-a1410_)
                                          (_pair-b1422_ _ilist-b1416_))
                            (if (std/srfi/116#null-ilist? _pair-a1421_)
                                (if (std/srfi/116#null-ilist? _pair-b1422_)
                                    (_lp11408_ _ilist-b1416_ _others1417_)
                                    '#f)
                                (if (not (std/srfi/116#null-ilist?
                                          _pair-b1422_))
                                    (if (_=1402_ (##structure-ref
                                                  _pair-a1421_
                                                  '1
                                                  std/srfi/116#<ilist>
                                                  '#f)
                                                 (##structure-ref
                                                  _pair-b1422_
                                                  '1
                                                  std/srfi/116#<ilist>
                                                  '#f))
                                        (_lp21419_
                                         (##structure-ref
                                          _pair-a1421_
                                          '2
                                          std/srfi/116#<ilist>
                                          '#f)
                                         (##structure-ref
                                          _pair-b1422_
                                          '2
                                          std/srfi/116#<ilist>
                                          '#f))
                                        '#f)
                                    '#f))))))))))))
  (define std/srfi/116#ilength
    (lambda (_x1395_)
      (let _lp1397_ ((_x1399_ _x1395_) (_len1400_ '0))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _x1399_ 'std/srfi/116#<ilist>))
            (_lp1397_
             (##structure-ref _x1399_ '2 std/srfi/116#<ilist> '#f)
             (+ _len1400_ '1))
            _len1400_))))
  (define std/srfi/116#izip
    (lambda (_ilist11392_ . _more-lists1393_)
      (apply std/srfi/116#imap
             std/srfi/116#ilist
             _ilist11392_
             _more-lists1393_)))
  (define std/srfi/116#icaar
    (lambda (_x1390_)
      (##structure-ref
       (##structure-ref _x1390_ '1 std/srfi/116#<ilist> '#f)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icadr
    (lambda (_x1388_)
      (##structure-ref
       (##structure-ref _x1388_ '2 std/srfi/116#<ilist> '#f)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icdar
    (lambda (_x1386_)
      (##structure-ref
       (##structure-ref _x1386_ '1 std/srfi/116#<ilist> '#f)
       '2
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icddr
    (lambda (_x1384_)
      (##structure-ref
       (##structure-ref _x1384_ '2 std/srfi/116#<ilist> '#f)
       '2
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icaaar
    (lambda (_x1382_)
      (std/srfi/116#icaar
       (##structure-ref _x1382_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaadr
    (lambda (_x1380_)
      (std/srfi/116#icaar
       (##structure-ref _x1380_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadar
    (lambda (_x1378_)
      (std/srfi/116#icadr
       (##structure-ref _x1378_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaddr
    (lambda (_x1376_)
      (std/srfi/116#icadr
       (##structure-ref _x1376_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaar
    (lambda (_x1374_)
      (std/srfi/116#icdar
       (##structure-ref _x1374_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdadr
    (lambda (_x1372_)
      (std/srfi/116#icdar
       (##structure-ref _x1372_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddar
    (lambda (_x1370_)
      (std/srfi/116#icddr
       (##structure-ref _x1370_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdddr
    (lambda (_x1368_)
      (std/srfi/116#icddr
       (##structure-ref _x1368_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaaaar
    (lambda (_x1366_)
      (std/srfi/116#icaaar
       (##structure-ref _x1366_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaaadr
    (lambda (_x1364_)
      (std/srfi/116#icaaar
       (##structure-ref _x1364_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaadar
    (lambda (_x1362_)
      (std/srfi/116#icaadr
       (##structure-ref _x1362_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaaddr
    (lambda (_x1360_)
      (std/srfi/116#icaadr
       (##structure-ref _x1360_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadaar
    (lambda (_x1358_)
      (std/srfi/116#icadar
       (##structure-ref _x1358_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadadr
    (lambda (_x1356_)
      (std/srfi/116#icadar
       (##structure-ref _x1356_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaddar
    (lambda (_x1354_)
      (std/srfi/116#icaddr
       (##structure-ref _x1354_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadddr
    (lambda (_x1352_)
      (std/srfi/116#icaddr
       (##structure-ref _x1352_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaaar
    (lambda (_x1350_)
      (std/srfi/116#icdaar
       (##structure-ref _x1350_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaadr
    (lambda (_x1348_)
      (std/srfi/116#icdaar
       (##structure-ref _x1348_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdadar
    (lambda (_x1346_)
      (std/srfi/116#icdadr
       (##structure-ref _x1346_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaddr
    (lambda (_x1344_)
      (std/srfi/116#icdadr
       (##structure-ref _x1344_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddaar
    (lambda (_x1342_)
      (std/srfi/116#icddar
       (##structure-ref _x1342_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddadr
    (lambda (_x1340_)
      (std/srfi/116#icddar
       (##structure-ref _x1340_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdddar
    (lambda (_x1338_)
      (std/srfi/116#icdddr
       (##structure-ref _x1338_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddddr
    (lambda (_x1336_)
      (std/srfi/116#icdddr
       (##structure-ref _x1336_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#ifirst std/srfi/116#icar)
  (define std/srfi/116#isecond std/srfi/116#icadr)
  (define std/srfi/116#ithird std/srfi/116#icaddr)
  (define std/srfi/116#ifourth std/srfi/116#icadddr)
  (define std/srfi/116#ififth
    (lambda (_x1334_)
      (##structure-ref
       (std/srfi/116#icddddr _x1334_)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#isixth
    (lambda (_x1332_) (std/srfi/116#icadr (std/srfi/116#icddddr _x1332_))))
  (define std/srfi/116#iseventh
    (lambda (_x1330_) (std/srfi/116#icaddr (std/srfi/116#icddddr _x1330_))))
  (define std/srfi/116#ieighth
    (lambda (_x1328_) (std/srfi/116#icadddr (std/srfi/116#icddddr _x1328_))))
  (define std/srfi/116#ininth
    (lambda (_x1326_)
      (##structure-ref
       (std/srfi/116#icddddr (std/srfi/116#icddddr _x1326_))
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#itenth
    (lambda (_x1324_)
      (std/srfi/116#icadr
       (std/srfi/116#icddddr (std/srfi/116#icddddr _x1324_)))))
  (define std/srfi/116#icar+icdr
    (lambda (_ipair1322_)
      (values (##structure-ref _ipair1322_ '1 std/srfi/116#<ilist> '#f)
              (##structure-ref _ipair1322_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#itake
    (lambda (_lis1314_ _k1315_)
      (std/srfi/116#check-arg integer? _k1315_ std/srfi/116#itake)
      (let _recur1317_ ((_lis1319_ _lis1314_) (_k1320_ _k1315_))
        (if (zero? _k1320_)
            '()
            (let ((__tmp5208
                   (##structure-ref _lis1319_ '1 std/srfi/116#<ilist> '#f))
                  (__tmp5207
                   (_recur1317_
                    (##structure-ref _lis1319_ '2 std/srfi/116#<ilist> '#f)
                    (- _k1320_ '1))))
              (declare (not safe))
              (##structure std/srfi/116#<ilist> __tmp5208 __tmp5207))))))
  (define std/srfi/116#ilist-tail
    (lambda (_lis1311_ _k1312_) (std/srfi/116#idrop _lis1311_ _k1312_)))
  (define std/srfi/116#idrop
    (lambda (_lis1303_ _k1304_)
      (std/srfi/116#check-arg integer? _k1304_ std/srfi/116#idrop)
      (let _iter1306_ ((_lis1308_ _lis1303_) (_k1309_ _k1304_))
        (if (zero? _k1309_)
            _lis1308_
            (_iter1306_
             (##structure-ref _lis1308_ '2 std/srfi/116#<ilist> '#f)
             (- _k1309_ '1))))))
  (define std/srfi/116#itake-right
    (lambda (_lis1295_ _k1296_)
      (std/srfi/116#check-arg integer? _k1296_ std/srfi/116#itake-right)
      (let _lp1298_ ((_lag1300_ _lis1295_)
                     (_lead1301_ (std/srfi/116#idrop _lis1295_ _k1296_)))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _lead1301_ 'std/srfi/116#<ilist>))
            (_lp1298_
             (##structure-ref _lag1300_ '2 std/srfi/116#<ilist> '#f)
             (##structure-ref _lead1301_ '2 std/srfi/116#<ilist> '#f))
            _lag1300_))))
  (define std/srfi/116#idrop-right
    (lambda (_lis1287_ _k1288_)
      (std/srfi/116#check-arg integer? _k1288_ std/srfi/116#idrop-right)
      (let _recur1290_ ((_lag1292_ _lis1287_)
                        (_lead1293_ (std/srfi/116#idrop _lis1287_ _k1288_)))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _lead1293_ 'std/srfi/116#<ilist>))
            (let ((__tmp5210
                   (##structure-ref _lag1292_ '1 std/srfi/116#<ilist> '#f))
                  (__tmp5209
                   (_recur1290_
                    (##structure-ref _lag1292_ '2 std/srfi/116#<ilist> '#f)
                    (##structure-ref _lead1293_ '2 std/srfi/116#<ilist> '#f))))
              (declare (not safe))
              (##structure std/srfi/116#<ilist> __tmp5210 __tmp5209))
            '()))))
  (define std/srfi/116#ilist-ref
    (lambda (_lis1284_ _i1285_)
      (##structure-ref
       (std/srfi/116#idrop _lis1284_ _i1285_)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#isplit-at
    (lambda (_x1272_ _k1273_)
      (std/srfi/116#check-arg integer? _k1273_ std/srfi/116#isplit-at)
      (let _recur1275_ ((_lis1277_ _x1272_) (_k1278_ _k1273_))
        (if (zero? _k1278_)
            (values '() _lis1277_)
            (call-with-values
             (lambda ()
               (_recur1275_
                (##structure-ref _lis1277_ '2 std/srfi/116#<ilist> '#f)
                (- _k1278_ '1)))
             (lambda (_prefix1281_ _suffix1282_)
               (values (let ((__tmp5211
                              (##structure-ref
                               _lis1277_
                               '1
                               std/srfi/116#<ilist>
                               '#f)))
                         (declare (not safe))
                         (##structure
                          std/srfi/116#<ilist>
                          __tmp5211
                          _prefix1281_))
                       _suffix1282_)))))))
  (define std/srfi/116#ilast
    (lambda (_lis1270_)
      (##structure-ref
       (std/srfi/116#last-ipair _lis1270_)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#last-ipair
    (lambda (_lis1262_)
      (std/srfi/116#check-arg
       std/srfi/116#ipair?
       _lis1262_
       std/srfi/116#last-ipair)
      (let _lp1264_ ((_lis1266_ _lis1262_))
        (let ((_tail1268_
               (##structure-ref _lis1266_ '2 std/srfi/116#<ilist> '#f)))
          (if (let ()
                (declare (not safe))
                (##structure-instance-of? _tail1268_ 'std/srfi/116#<ilist>))
              (_lp1264_ _tail1268_)
              _lis1266_)))))
  (define std/srfi/116#iunzip1
    (lambda (_lis1260_) (std/srfi/116#imap std/srfi/116#icar _lis1260_)))
  (define std/srfi/116#iunzip2
    (lambda (_lis1248_)
      (let _recur1250_ ((_lis1252_ _lis1248_))
        (if (std/srfi/116#null-ilist? _lis1252_)
            (values _lis1252_ _lis1252_)
            (let ((_elt1254_
                   (##structure-ref _lis1252_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur1250_
                  (##structure-ref _lis1252_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a1257_ _b1258_)
                 (values (let ((__tmp5212
                                (##structure-ref
                                 _elt1254_
                                 '1
                                 std/srfi/116#<ilist>
                                 '#f)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5212
                            _a1257_))
                         (let ((__tmp5213 (std/srfi/116#icadr _elt1254_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5213
                            _b1258_))))))))))
  (define std/srfi/116#iunzip3
    (lambda (_lis1235_)
      (let _recur1237_ ((_lis1239_ _lis1235_))
        (if (std/srfi/116#null-ilist? _lis1239_)
            (values _lis1239_ _lis1239_ _lis1239_)
            (let ((_elt1241_
                   (##structure-ref _lis1239_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur1237_
                  (##structure-ref _lis1239_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a1244_ _b1245_ _c1246_)
                 (values (let ((__tmp5214
                                (##structure-ref
                                 _elt1241_
                                 '1
                                 std/srfi/116#<ilist>
                                 '#f)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5214
                            _a1244_))
                         (let ((__tmp5215 (std/srfi/116#icadr _elt1241_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5215
                            _b1245_))
                         (let ((__tmp5216 (std/srfi/116#icaddr _elt1241_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5216
                            _c1246_))))))))))
  (define std/srfi/116#iunzip4
    (lambda (_lis1221_)
      (let _recur1223_ ((_lis1225_ _lis1221_))
        (if (std/srfi/116#null-ilist? _lis1225_)
            (values _lis1225_ _lis1225_ _lis1225_ _lis1225_)
            (let ((_elt1227_
                   (##structure-ref _lis1225_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur1223_
                  (##structure-ref _lis1225_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a1230_ _b1231_ _c1232_ _d1233_)
                 (values (let ((__tmp5217
                                (##structure-ref
                                 _elt1227_
                                 '1
                                 std/srfi/116#<ilist>
                                 '#f)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5217
                            _a1230_))
                         (let ((__tmp5218 (std/srfi/116#icadr _elt1227_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5218
                            _b1231_))
                         (let ((__tmp5219 (std/srfi/116#icaddr _elt1227_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5219
                            _c1232_))
                         (let ((__tmp5220 (std/srfi/116#icadddr _elt1227_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5220
                            _d1233_))))))))))
  (define std/srfi/116#iunzip5
    (lambda (_lis1206_)
      (let _recur1208_ ((_lis1210_ _lis1206_))
        (if (std/srfi/116#null-ilist? _lis1210_)
            (values _lis1210_ _lis1210_ _lis1210_ _lis1210_ _lis1210_)
            (let ((_elt1212_
                   (##structure-ref _lis1210_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur1208_
                  (##structure-ref _lis1210_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a1215_ _b1216_ _c1217_ _d1218_ _e1219_)
                 (values (let ((__tmp5221
                                (##structure-ref
                                 _elt1212_
                                 '1
                                 std/srfi/116#<ilist>
                                 '#f)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5221
                            _a1215_))
                         (let ((__tmp5222 (std/srfi/116#icadr _elt1212_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5222
                            _b1216_))
                         (let ((__tmp5223 (std/srfi/116#icaddr _elt1212_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5223
                            _c1217_))
                         (let ((__tmp5224 (std/srfi/116#icadddr _elt1212_)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5224
                            _d1218_))
                         (let ((__tmp5225
                                (##structure-ref
                                 (std/srfi/116#icddddr _elt1212_)
                                 '1
                                 std/srfi/116#<ilist>
                                 '#f)))
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            __tmp5225
                            _e1219_))))))))))
  (define std/srfi/116#iappend
    (lambda _lists1197_
      (if (pair? _lists1197_)
          (let _recur1199_ ((_list11201_ (car _lists1197_))
                            (_lists1202_ (cdr _lists1197_)))
            (if (pair? _lists1202_)
                (let ((_tail1204_
                       (_recur1199_ (car _lists1202_) (cdr _lists1202_))))
                  (std/srfi/116#ifold-right
                   std/srfi/116#ipair
                   _tail1204_
                   _list11201_))
                _list11201_))
          '())))
  (define std/srfi/116#iappend-reverse
    (lambda (_rev-head1189_ _tail1190_)
      (let _lp1192_ ((_rev-head1194_ _rev-head1189_) (_tail1195_ _tail1190_))
        (if (std/srfi/116#null-ilist? _rev-head1194_)
            _tail1195_
            (_lp1192_
             (##structure-ref _rev-head1194_ '2 std/srfi/116#<ilist> '#f)
             (let ((__tmp5226
                    (##structure-ref
                     _rev-head1194_
                     '1
                     std/srfi/116#<ilist>
                     '#f)))
               (declare (not safe))
               (##structure std/srfi/116#<ilist> __tmp5226 _tail1195_)))))))
  (define std/srfi/116#iconcatenate
    (lambda (_lists1187_)
      (std/srfi/116#ireduce-right std/srfi/116#iappend '() _lists1187_)))
  (define std/srfi/116#%cdrs
    (lambda (_lists1177_)
      (call-with-current-continuation
       (lambda (_abort1179_)
         (let _recur1181_ ((_lists1183_ _lists1177_))
           (if (pair? _lists1183_)
               (let ((_lis1185_ (car _lists1183_)))
                 (if (null? _lis1185_)
                     (_abort1179_ '())
                     (cons (##structure-ref
                            _lis1185_
                            '2
                            std/srfi/116#<ilist>
                            '#f)
                           (_recur1181_ (cdr _lists1183_)))))
               '()))))))
  (define std/srfi/116#%cars+
    (lambda (_lists1170_ _last-elt1171_)
      (let _recur1173_ ((_lists1175_ _lists1170_))
        (if (pair? _lists1175_)
            (cons (##structure-ref
                   (car _lists1175_)
                   '1
                   std/srfi/116#<ilist>
                   '#f)
                  (_recur1173_ (cdr _lists1175_)))
            (list _last-elt1171_)))))
  (define std/srfi/116#%cars+cdrs
    (lambda (_ilists1152_)
      (call-with-current-continuation
       (lambda (_abort1154_)
         (let _recur1156_ ((_ilists1158_ _ilists1152_))
           (if (pair? _ilists1158_)
               (let ((_ilist1160_ (car _ilists1158_))
                     (_other-ilists1161_ (cdr _ilists1158_)))
                 (if (null? _ilist1160_)
                     (_abort1154_ '() '())
                     (let ((_a1163_ (##structure-ref
                                     _ilist1160_
                                     '1
                                     std/srfi/116#<ilist>
                                     '#f))
                           (_d1164_ (##structure-ref
                                     _ilist1160_
                                     '2
                                     std/srfi/116#<ilist>
                                     '#f)))
                       (call-with-values
                        (lambda () (_recur1156_ _other-ilists1161_))
                        (lambda (_icars1167_ _icdrs1168_)
                          (values (cons _a1163_ _icars1167_)
                                  (cons _d1164_ _icdrs1168_)))))))
               (values '() '())))))))
  (define std/srfi/116#%cars+cdrs+
    (lambda (_ilists1132_ _cars-final1133_)
      (call-with-current-continuation
       (lambda (_abort1135_)
         (let _recur1137_ ((_ilists1139_ _ilists1132_))
           (if (pair? _ilists1139_)
               (let ((_ilist1141_ (car _ilists1139_))
                     (_other-ilists1142_ (cdr _ilists1139_)))
                 (if (null? _ilist1141_)
                     (_abort1135_ '() '())
                     (call-with-values
                      (lambda () (std/srfi/116#icar+icdr _ilist1141_))
                      (lambda (_a1145_ _d1146_)
                        (call-with-values
                         (lambda () (_recur1137_ _other-ilists1142_))
                         (lambda (_cars1149_ _cdrs1150_)
                           (values (cons _a1145_ _cars1149_)
                                   (cons _d1146_ _cdrs1150_))))))))
               (values (list _cars-final1133_) '())))))))
  (define std/srfi/116#%cars+cdrs/no-test
    (lambda (_ilists1116_)
      (let _recur1118_ ((_ilists1120_ _ilists1116_))
        (if (pair? _ilists1120_)
            (let ((_ilist1122_ (car _ilists1120_))
                  (_other-ilists1123_ (cdr _ilists1120_)))
              (let ((_a1125_ (##structure-ref
                              _ilist1122_
                              '1
                              std/srfi/116#<ilist>
                              '#f))
                    (_d1126_ (##structure-ref
                              _ilist1122_
                              '2
                              std/srfi/116#<ilist>
                              '#f)))
                (call-with-values
                 (lambda () (_recur1118_ _other-ilists1123_))
                 (lambda (_cars1129_ _cdrs1130_)
                   (values (cons _a1125_ _cars1129_)
                           (cons _d1126_ _cdrs1130_))))))
            (values '() '())))))
  (define std/srfi/116#icount
    (lambda (_pred1097_ _ilist11098_ . _ilists1099_)
      (std/srfi/116#check-arg procedure? _pred1097_ std/srfi/116#icount)
      (if (pair? _ilists1099_)
          (let _lp1101_ ((_ilist11103_ _ilist11098_)
                         (_ilists1104_ _ilists1099_)
                         (_i1105_ '0))
            (if (std/srfi/116#null-ilist? _ilist11103_)
                _i1105_
                (call-with-values
                 (lambda () (std/srfi/116#%cars+cdrs _ilists1104_))
                 (lambda (_as1108_ _ds1109_)
                   (if (null? _as1108_)
                       _i1105_
                       (_lp1101_
                        (##structure-ref
                         _ilist11103_
                         '2
                         std/srfi/116#<ilist>
                         '#f)
                        _ds1109_
                        (if (apply _pred1097_
                                   (##structure-ref
                                    _ilist11103_
                                    '1
                                    std/srfi/116#<ilist>
                                    '#f)
                                   _as1108_)
                            (+ _i1105_ '1)
                            _i1105_)))))))
          (let _lp1111_ ((_lis1113_ _ilist11098_) (_i1114_ '0))
            (if (std/srfi/116#null-ilist? _lis1113_)
                _i1114_
                (_lp1111_
                 (##structure-ref _lis1113_ '2 std/srfi/116#<ilist> '#f)
                 (if (_pred1097_
                      (##structure-ref _lis1113_ '1 std/srfi/116#<ilist> '#f))
                     (+ _i1114_ '1)
                     _i1114_)))))))
  (define std/srfi/116#iunfold-right
    (lambda (_p1086_ _f1087_ _g1088_ _seed1089_ . _maybe-tail1090_)
      (std/srfi/116#check-arg procedure? _p1086_ std/srfi/116#iunfold-right)
      (std/srfi/116#check-arg procedure? _f1087_ std/srfi/116#iunfold-right)
      (std/srfi/116#check-arg procedure? _g1088_ std/srfi/116#iunfold-right)
      (let _lp1092_ ((_seed1094_ _seed1089_)
                     (_ans1095_
                      (if (null? _maybe-tail1090_)
                          '()
                          (if (null? (cdr _maybe-tail1090_))
                              (car _maybe-tail1090_)
                              (error '"Too many arguments")))))
        (if (_p1086_ _seed1094_)
            _ans1095_
            (_lp1092_
             (_g1088_ _seed1094_)
             (let ((__tmp5227 (_f1087_ _seed1094_)))
               (declare (not safe))
               (##structure std/srfi/116#<ilist> __tmp5227 _ans1095_)))))))
  (define std/srfi/116#iunfold
    (lambda (_p1070_ _f1071_ _g1072_ _seed1073_ . _maybe-tail-gen1074_)
      (std/srfi/116#check-arg procedure? _p1070_ std/srfi/116#iunfold)
      (std/srfi/116#check-arg procedure? _f1071_ std/srfi/116#iunfold)
      (std/srfi/116#check-arg procedure? _g1072_ std/srfi/116#iunfold)
      (if (pair? _maybe-tail-gen1074_)
          (let ((_tail-gen1076_ (car _maybe-tail-gen1074_)))
            (if (pair? (cdr _maybe-tail-gen1074_))
                (apply error
                       '"Too many arguments"
                       std/srfi/116#iunfold
                       _p1070_
                       _f1071_
                       _g1072_
                       _seed1073_
                       _maybe-tail-gen1074_)
                (let _recur1078_ ((_seed1080_ _seed1073_))
                  (if (_p1070_ _seed1080_)
                      (_tail-gen1076_ _seed1080_)
                      (let ((__tmp5229 (_f1071_ _seed1080_))
                            (__tmp5228 (_recur1078_ (_g1072_ _seed1080_))))
                        (declare (not safe))
                        (##structure
                         std/srfi/116#<ilist>
                         __tmp5229
                         __tmp5228))))))
          (let _recur1082_ ((_seed1084_ _seed1073_))
            (if (_p1070_ _seed1084_)
                '()
                (let ((__tmp5231 (_f1071_ _seed1084_))
                      (__tmp5230 (_recur1082_ (_g1072_ _seed1084_))))
                  (declare (not safe))
                  (##structure std/srfi/116#<ilist> __tmp5231 __tmp5230)))))))
  (define std/srfi/116#ifold
    (lambda (_kons1051_ _knil1052_ _ilis11053_ . _ilists1054_)
      (std/srfi/116#check-arg procedure? _kons1051_ std/srfi/116#ifold)
      (if (pair? _ilists1054_)
          (let _lp1056_ ((_ilists1058_ (cons _ilis11053_ _ilists1054_))
                         (_ans1059_ _knil1052_))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs+ _ilists1058_ _ans1059_))
             (lambda (_cars+ans1062_ _cdrs1063_)
               (if (null? _cars+ans1062_)
                   _ans1059_
                   (_lp1056_ _cdrs1063_ (apply _kons1051_ _cars+ans1062_))))))
          (let _lp1065_ ((_ilis1067_ _ilis11053_) (_ans1068_ _knil1052_))
            (if (std/srfi/116#null-ilist? _ilis1067_)
                _ans1068_
                (_lp1065_
                 (##structure-ref _ilis1067_ '2 std/srfi/116#<ilist> '#f)
                 (_kons1051_
                  (##structure-ref _ilis1067_ '1 std/srfi/116#<ilist> '#f)
                  _ans1068_)))))))
  (define std/srfi/116#ifold-right
    (lambda (_kons1034_ _knil1035_ _ilis11036_ . _ilists1037_)
      (std/srfi/116#check-arg procedure? _kons1034_ std/srfi/116#ifold-right)
      (if (pair? _ilists1037_)
          (let _recur1039_ ((_ilists1041_ (cons _ilis11036_ _ilists1037_)))
            (let ((_cdrs1043_ (std/srfi/116#%cdrs _ilists1041_)))
              (if (null? _cdrs1043_)
                  _knil1035_
                  (apply _kons1034_
                         (std/srfi/116#%cars+
                          _ilists1041_
                          (_recur1039_ _cdrs1043_))))))
          (let _recur1045_ ((_ilis1047_ _ilis11036_))
            (if (null? _ilis1047_)
                _knil1035_
                (let ((_head1049_
                       (##structure-ref
                        _ilis1047_
                        '1
                        std/srfi/116#<ilist>
                        '#f)))
                  (_kons1034_
                   _head1049_
                   (_recur1045_
                    (##structure-ref
                     _ilis1047_
                     '2
                     std/srfi/116#<ilist>
                     '#f)))))))))
  (define std/srfi/116#ipair-fold-right
    (lambda (_f1019_ _zero1020_ _ilis11021_ . _ilists1022_)
      (std/srfi/116#check-arg procedure? _f1019_ std/srfi/116#ipair-fold-right)
      (if (pair? _ilists1022_)
          (let _recur1024_ ((_ilists1026_ (cons _ilis11021_ _ilists1022_)))
            (let ((_cdrs1028_ (std/srfi/116#%cdrs _ilists1026_)))
              (if (null? _cdrs1028_)
                  _zero1020_
                  (apply _f1019_
                         (append _ilists1026_
                                 (list (_recur1024_ _cdrs1028_)))))))
          (let _recur1030_ ((_ilis1032_ _ilis11021_))
            (if (std/srfi/116#null-ilist? _ilis1032_)
                _zero1020_
                (_f1019_ _ilis1032_
                         (_recur1030_
                          (##structure-ref
                           _ilis1032_
                           '2
                           std/srfi/116#<ilist>
                           '#f))))))))
  (define std/srfi/116#ipair-fold
    (lambda (_f1000_ _zero1001_ _ilis11002_ . _ilists1003_)
      (std/srfi/116#check-arg procedure? _f1000_ std/srfi/116#ipair-fold)
      (if (pair? _ilists1003_)
          (let _lp1005_ ((_ilists1007_ (cons _ilis11002_ _ilists1003_))
                         (_ans1008_ _zero1001_))
            (let ((_tails1010_ (std/srfi/116#%cdrs _ilists1007_)))
              (if (null? _tails1010_)
                  _ans1008_
                  (_lp1005_
                   _tails1010_
                   (apply _f1000_ (append _ilists1007_ (list _ans1008_)))))))
          (let _lp1012_ ((_ilis1014_ _ilis11002_) (_ans1015_ _zero1001_))
            (if (std/srfi/116#null-ilist? _ilis1014_)
                _ans1015_
                (let ((_tail1017_
                       (##structure-ref
                        _ilis1014_
                        '2
                        std/srfi/116#<ilist>
                        '#f)))
                  (_lp1012_ _tail1017_ (_f1000_ _ilis1014_ _ans1015_))))))))
  (define std/srfi/116#ireduce
    (lambda (_f996_ _ridentity997_ _ilis998_)
      (std/srfi/116#check-arg procedure? _f996_ std/srfi/116#ireduce)
      (if (std/srfi/116#null-ilist? _ilis998_)
          _ridentity997_
          (std/srfi/116#ifold
           _f996_
           (##structure-ref _ilis998_ '1 std/srfi/116#<ilist> '#f)
           (##structure-ref _ilis998_ '2 std/srfi/116#<ilist> '#f)))))
  (define std/srfi/116#ireduce-right
    (lambda (_f987_ _ridentity988_ _ilis989_)
      (std/srfi/116#check-arg procedure? _f987_ std/srfi/116#ireduce-right)
      (if (std/srfi/116#null-ilist? _ilis989_)
          _ridentity988_
          (let _recur991_ ((_head993_
                            (##structure-ref
                             _ilis989_
                             '1
                             std/srfi/116#<ilist>
                             '#f))
                           (_ilis994_
                            (##structure-ref
                             _ilis989_
                             '2
                             std/srfi/116#<ilist>
                             '#f)))
            (if (let ()
                  (declare (not safe))
                  (##structure-instance-of? _ilis994_ 'std/srfi/116#<ilist>))
                (_f987_ _head993_
                        (_recur991_
                         (##structure-ref
                          _ilis994_
                          '1
                          std/srfi/116#<ilist>
                          '#f)
                         (##structure-ref
                          _ilis994_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                _head993_)))))
  (define std/srfi/116#iappend-map
    (lambda (_f983_ _ilis1984_ . _ilists985_)
      (std/srfi/116#really-iappend-map
       std/srfi/116#iappend-map
       std/srfi/116#iappend
       _f983_
       _ilis1984_
       _ilists985_)))
  (define std/srfi/116#really-iappend-map
    (lambda (_who955_ _appender956_ _f957_ _ilis1958_ _ilists959_)
      (std/srfi/116#check-arg procedure? _f957_ _who955_)
      (if (pair? _ilists959_)
          (call-with-values
           (lambda () (std/srfi/116#%cars+cdrs (cons _ilis1958_ _ilists959_)))
           (lambda (_cars962_ _cdrs963_)
             (if (null? _cars962_)
                 '()
                 (let _recur965_ ((_cars967_ _cars962_) (_cdrs968_ _cdrs963_))
                   (let ((_vals970_ (apply _f957_ _cars967_)))
                     (call-with-values
                      (lambda () (std/srfi/116#%cars+cdrs _cdrs968_))
                      (lambda (_cars2973_ _cdrs2974_)
                        (if (null? _cars2973_)
                            _vals970_
                            (_appender956_
                             _vals970_
                             (_recur965_ _cars2973_ _cdrs2974_))))))))))
          (if (std/srfi/116#null-ilist? _ilis1958_)
              '()
              (let _recur976_ ((_elt978_
                                (##structure-ref
                                 _ilis1958_
                                 '1
                                 std/srfi/116#<ilist>
                                 '#f))
                               (_rest979_
                                (##structure-ref
                                 _ilis1958_
                                 '2
                                 std/srfi/116#<ilist>
                                 '#f)))
                (let ((_vals981_ (_f957_ _elt978_)))
                  (if (std/srfi/116#null-ilist? _rest979_)
                      _vals981_
                      (_appender956_
                       _vals981_
                       (_recur976_
                        (##structure-ref _rest979_ '1 std/srfi/116#<ilist> '#f)
                        (##structure-ref
                         _rest979_
                         '2
                         std/srfi/116#<ilist>
                         '#f))))))))))
  (define std/srfi/116#ipair-for-each
    (lambda (_proc939_ _ilis1940_ . _ilists941_)
      (std/srfi/116#check-arg procedure? _proc939_ std/srfi/116#ipair-for-each)
      (if (pair? _ilists941_)
          (let _lp943_ ((_ilists945_ (cons _ilis1940_ _ilists941_)))
            (let ((_itails947_ (std/srfi/116#%cdrs _ilists945_)))
              (if (pair? _itails947_)
                  (begin (apply _proc939_ _ilists945_) (_lp943_ _itails947_))
                  '#!void)))
          (let _lp949_ ((_ilis951_ _ilis1940_))
            (if (not (std/srfi/116#null-ilist? _ilis951_))
                (let ((_tail953_
                       (##structure-ref
                        _ilis951_
                        '2
                        std/srfi/116#<ilist>
                        '#f)))
                  (_proc939_ _ilis951_)
                  (_lp949_ _tail953_))
                '#!void)))))
  (define std/srfi/116#ifilter-map
    (lambda (_f911_ _ilis1912_ . _ilists913_)
      (std/srfi/116#check-arg procedure? _f911_ std/srfi/116#ifilter-map)
      (if (pair? _ilists913_)
          (let _recur915_ ((_ilists917_ (cons _ilis1912_ _ilists913_)))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs _ilists917_))
             (lambda (_cars920_ _cdrs921_)
               (if (pair? _cars920_)
                   (let ((_$e923_ (apply _f911_ _cars920_)))
                     (if _$e923_
                         ((lambda (_x926_)
                            (let ((__tmp5232 (_recur915_ _cdrs921_)))
                              (declare (not safe))
                              (##structure
                               std/srfi/116#<ilist>
                               _x926_
                               __tmp5232)))
                          _$e923_)
                         (_recur915_ _cdrs921_)))
                   '()))))
          (let _recur928_ ((_ilis930_ _ilis1912_))
            (if (std/srfi/116#null-ilist? _ilis930_)
                _ilis930_
                (let* ((_tail932_
                        (_recur928_
                         (##structure-ref
                          _ilis930_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                       (_$e934_ (_f911_ (##structure-ref
                                         _ilis930_
                                         '1
                                         std/srfi/116#<ilist>
                                         '#f))))
                  (if _$e934_
                      ((lambda (_x937_)
                         (let ()
                           (declare (not safe))
                           (##structure
                            std/srfi/116#<ilist>
                            _x937_
                            _tail932_)))
                       _$e934_)
                      _tail932_)))))))
  (define std/srfi/116#imap-in-order
    (lambda (_f890_ _lis1891_ . _lists892_)
      (std/srfi/116#check-arg procedure? _f890_ std/srfi/116#imap-in-order)
      (if (pair? _lists892_)
          (let _recur894_ ((_lists896_ (cons _lis1891_ _lists892_)))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs _lists896_))
             (lambda (_cars899_ _cdrs900_)
               (if (pair? _cars899_)
                   (let* ((_x902_ (apply _f890_ _cars899_))
                          (__tmp5233 (_recur894_ _cdrs900_)))
                     (declare (not safe))
                     (##structure std/srfi/116#<ilist> _x902_ __tmp5233))
                   '()))))
          (let _recur904_ ((_lis906_ _lis1891_))
            (if (std/srfi/116#null-ilist? _lis906_)
                _lis906_
                (let ((_tail908_
                       (##structure-ref _lis906_ '2 std/srfi/116#<ilist> '#f))
                      (_x909_ (_f890_ (##structure-ref
                                       _lis906_
                                       '1
                                       std/srfi/116#<ilist>
                                       '#f))))
                  (let ((__tmp5234 (_recur904_ _tail908_)))
                    (declare (not safe))
                    (##structure std/srfi/116#<ilist> _x909_ __tmp5234))))))))
  (define std/srfi/116#imap std/srfi/116#imap-in-order)
  (define std/srfi/116#ifilter
    (lambda (_pred878_ _lis879_)
      (std/srfi/116#check-arg procedure? _pred878_ std/srfi/116#ifilter)
      (let _recur881_ ((_lis883_ _lis879_))
        (if (std/srfi/116#null-ilist? _lis883_)
            _lis883_
            (let ((_head885_
                   (##structure-ref _lis883_ '1 std/srfi/116#<ilist> '#f))
                  (_tail886_
                   (##structure-ref _lis883_ '2 std/srfi/116#<ilist> '#f)))
              (if (_pred878_ _head885_)
                  (let ((_new-tail888_ (_recur881_ _tail886_)))
                    (if (eq? _tail886_ _new-tail888_)
                        _lis883_
                        (let ()
                          (declare (not safe))
                          (##structure
                           std/srfi/116#<ilist>
                           _head885_
                           _new-tail888_))))
                  (_recur881_ _tail886_)))))))
  (define std/srfi/116#ipartition
    (lambda (_pred864_ _lis865_)
      (std/srfi/116#check-arg procedure? _pred864_ std/srfi/116#ipartition)
      (let _recur867_ ((_lis869_ _lis865_))
        (if (std/srfi/116#null-ilist? _lis869_)
            (values _lis869_ _lis869_)
            (let ((_elt871_
                   (##structure-ref _lis869_ '1 std/srfi/116#<ilist> '#f))
                  (_tail872_
                   (##structure-ref _lis869_ '2 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda () (_recur867_ _tail872_))
               (lambda (_in875_ _out876_)
                 (if (_pred864_ _elt871_)
                     (values (if (let ()
                                   (declare (not safe))
                                   (##structure-instance-of?
                                    _out876_
                                    'std/srfi/116#<ilist>))
                                 (let ()
                                   (declare (not safe))
                                   (##structure
                                    std/srfi/116#<ilist>
                                    _elt871_
                                    _in875_))
                                 _lis869_)
                             _out876_)
                     (values _in875_
                             (if (let ()
                                   (declare (not safe))
                                   (##structure-instance-of?
                                    _in875_
                                    'std/srfi/116#<ilist>))
                                 (let ()
                                   (declare (not safe))
                                   (##structure
                                    std/srfi/116#<ilist>
                                    _elt871_
                                    _out876_))
                                 _lis869_))))))))))
  (define std/srfi/116#iremove
    (lambda (_pred859_ _l860_)
      (std/srfi/116#ifilter
       (lambda (_x862_) (not (_pred859_ _x862_)))
       _l860_)))
  (define std/srfi/116#idelete
    (lambda (_x851_ _lis852_ . _maybe-=853_)
      (let ((_=855_ (if (null? _maybe-=853_)
                        equal?
                        (if (null? (cdr _maybe-=853_))
                            (car _maybe-=853_)
                            (error '"Too many arguments")))))
        (std/srfi/116#ifilter
         (lambda (_y857_) (not (_=855_ _x851_ _y857_)))
         _lis852_))))
  (define std/srfi/116#imember
    (lambda (_x843_ _lis844_ . _maybe-=845_)
      (let ((_=847_ (if (null? _maybe-=845_)
                        equal?
                        (if (null? (cdr _maybe-=845_))
                            (car _maybe-=845_)
                            (error '"Too many arguments")))))
        (std/srfi/116#ifind-tail
         (lambda (_y849_) (_=847_ _x843_ _y849_))
         _lis844_))))
  (define std/srfi/116#imemq
    (lambda (_x840_ _lis841_) (std/srfi/116#imember _x840_ _lis841_ eq?)))
  (define std/srfi/116#imemv
    (lambda (_x837_ _lis838_) (std/srfi/116#imember _x837_ _lis838_ eqv?)))
  (define std/srfi/116#idelete-duplicates
    (lambda (_lis821_ . _maybe-=822_)
      (let ((_elt=824_
             (if (null? _maybe-=822_)
                 equal?
                 (if (null? (cdr _maybe-=822_))
                     (car _maybe-=822_)
                     (error '"Too many arguments")))))
        (std/srfi/116#check-arg
         procedure?
         _elt=824_
         std/srfi/116#idelete-duplicates)
        (let _recur826_ ((_lis828_ _lis821_))
          (if (std/srfi/116#null-ilist? _lis828_)
              _lis828_
              (let* ((_x830_ (##structure-ref
                              _lis828_
                              '1
                              std/srfi/116#<ilist>
                              '#f))
                     (_tail832_
                      (##structure-ref _lis828_ '2 std/srfi/116#<ilist> '#f))
                     (_new-tail834_
                      (_recur826_
                       (std/srfi/116#idelete _x830_ _tail832_ _elt=824_))))
                (if (eq? _tail832_ _new-tail834_)
                    _lis828_
                    (let ()
                      (declare (not safe))
                      (##structure
                       std/srfi/116#<ilist>
                       _x830_
                       _new-tail834_)))))))))
  (define std/srfi/116#iassoc
    (lambda (_x813_ _lis814_ . _maybe-=815_)
      (let ((_=817_ (if (null? _maybe-=815_)
                        equal?
                        (if (null? (cdr _maybe-=815_))
                            (car _maybe-=815_)
                            (error '"Too many arguments")))))
        (std/srfi/116#ifind
         (lambda (_entry819_)
           (_=817_ _x813_
                   (##structure-ref _entry819_ '1 std/srfi/116#<ilist> '#f)))
         _lis814_))))
  (define std/srfi/116#ialist-cons
    (lambda (_key809_ _datum810_ _alist811_)
      (let ((__tmp5235
             (let ()
               (declare (not safe))
               (##structure std/srfi/116#<ilist> _key809_ _datum810_))))
        (declare (not safe))
        (##structure std/srfi/116#<ilist> __tmp5235 _alist811_))))
  (define std/srfi/116#alist-copy
    (lambda (_alist805_)
      (std/srfi/116#imap
       (lambda (_elt807_)
         (let ((__tmp5237
                (##structure-ref _elt807_ '1 std/srfi/116#<ilist> '#f))
               (__tmp5236
                (##structure-ref _elt807_ '2 std/srfi/116#<ilist> '#f)))
           (declare (not safe))
           (##structure std/srfi/116#<ilist> __tmp5237 __tmp5236)))
       _alist805_)))
  (define std/srfi/116#ialist-delete
    (lambda (_key797_ _alist798_ . _maybe-=799_)
      (let ((_=801_ (if (null? _maybe-=799_)
                        equal?
                        (if (null? (cdr _maybe-=799_))
                            (car _maybe-=799_)
                            (error '"Too many arguments")))))
        (std/srfi/116#ifilter
         (lambda (_elt803_)
           (not (_=801_ _key797_
                        (##structure-ref
                         _elt803_
                         '1
                         std/srfi/116#<ilist>
                         '#f))))
         _alist798_))))
  (define std/srfi/116#ifind
    (lambda (_pred791_ _ilist792_)
      (let ((_$e794_ (std/srfi/116#ifind-tail _pred791_ _ilist792_)))
        (if _$e794_
            (##structure-ref _$e794_ '1 std/srfi/116#<ilist> '#f)
            '#f))))
  (define std/srfi/116#ifind-tail
    (lambda (_pred784_ _ilist785_)
      (std/srfi/116#check-arg procedure? _pred784_ std/srfi/116#ifind-tail)
      (let _lp787_ ((_ilist789_ _ilist785_))
        (if (not (std/srfi/116#null-ilist? _ilist789_))
            (if (_pred784_
                 (##structure-ref _ilist789_ '1 std/srfi/116#<ilist> '#f))
                _ilist789_
                (_lp787_ (##structure-ref
                          _ilist789_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
            '#f))))
  (define std/srfi/116#itake-while
    (lambda (_pred775_ _lis776_)
      (std/srfi/116#check-arg procedure? _pred775_ std/srfi/116#itake-while)
      (let _recur778_ ((_lis780_ _lis776_))
        (if (std/srfi/116#null-ilist? _lis780_)
            '()
            (let ((_x782_ (##structure-ref
                           _lis780_
                           '1
                           std/srfi/116#<ilist>
                           '#f)))
              (if (_pred775_ _x782_)
                  (let ((__tmp5238
                         (_recur778_
                          (##structure-ref
                           _lis780_
                           '2
                           std/srfi/116#<ilist>
                           '#f))))
                    (declare (not safe))
                    (##structure std/srfi/116#<ilist> _x782_ __tmp5238))
                  '()))))))
  (define std/srfi/116#idrop-while
    (lambda (_pred768_ _lis769_)
      (std/srfi/116#check-arg procedure? _pred768_ std/srfi/116#idrop-while)
      (let _lp771_ ((_lis773_ _lis769_))
        (if (std/srfi/116#null-ilist? _lis773_)
            '()
            (if (_pred768_
                 (##structure-ref _lis773_ '1 std/srfi/116#<ilist> '#f))
                (_lp771_ (##structure-ref
                          _lis773_
                          '2
                          std/srfi/116#<ilist>
                          '#f))
                _lis773_)))))
  (define std/srfi/116#ispan
    (lambda (_pred755_ _lis756_)
      (std/srfi/116#check-arg procedure? _pred755_ std/srfi/116#ispan)
      (let _recur758_ ((_lis760_ _lis756_))
        (if (std/srfi/116#null-ilist? _lis760_)
            (values '() '())
            (let ((_x762_ (##structure-ref
                           _lis760_
                           '1
                           std/srfi/116#<ilist>
                           '#f)))
              (if (_pred755_ _x762_)
                  (call-with-values
                   (lambda ()
                     (_recur758_
                      (##structure-ref _lis760_ '2 std/srfi/116#<ilist> '#f)))
                   (lambda (_prefix765_ _suffix766_)
                     (values (let ()
                               (declare (not safe))
                               (##structure
                                std/srfi/116#<ilist>
                                _x762_
                                _prefix765_))
                             _suffix766_)))
                  (values '() _lis760_)))))))
  (define std/srfi/116#ibreak
    (lambda (_pred750_ _lis751_)
      (std/srfi/116#ispan
       (lambda (_x753_) (not (_pred750_ _x753_)))
       _lis751_)))
  (define std/srfi/116#ievery
    (lambda (_pred722_ _lis1723_ . _lists724_)
      (std/srfi/116#check-arg procedure? _pred722_ std/srfi/116#ievery)
      (if (pair? _lists724_)
          (call-with-values
           (lambda ()
             (std/srfi/116#%cars+cdrs
              (let ()
                (declare (not safe))
                (##structure std/srfi/116#<ilist> _lis1723_ _lists724_))))
           (lambda (_heads727_ _tails728_)
             (let ((_$e730_ (not (let ()
                                   (declare (not safe))
                                   (##structure-instance-of?
                                    _heads727_
                                    'std/srfi/116#<ilist>)))))
               (if _$e730_
                   _$e730_
                   (let _lp733_ ((_heads735_ _heads727_)
                                 (_tails736_ _tails728_))
                     (call-with-values
                      (lambda () (std/srfi/116#%cars+cdrs _tails736_))
                      (lambda (_next-heads739_ _next-tails740_)
                        (if (let ()
                              (declare (not safe))
                              (##structure-instance-of?
                               _next-heads739_
                               'std/srfi/116#<ilist>))
                            (if (apply _pred722_ _heads735_)
                                (_lp733_ _next-heads739_ _next-tails740_)
                                '#f)
                            (apply _pred722_ _heads735_)))))))))
          (let ((_$e742_ (std/srfi/116#null-ilist? _lis1723_)))
            (if _$e742_
                _$e742_
                (let _lp745_ ((_head747_
                               (##structure-ref
                                _lis1723_
                                '1
                                std/srfi/116#<ilist>
                                '#f))
                              (_tail748_
                               (##structure-ref
                                _lis1723_
                                '2
                                std/srfi/116#<ilist>
                                '#f)))
                  (if (std/srfi/116#null-ilist? _tail748_)
                      (_pred722_ _head747_)
                      (if (_pred722_ _head747_)
                          (_lp745_ (##structure-ref
                                    _tail748_
                                    '1
                                    std/srfi/116#<ilist>
                                    '#f)
                                   (##structure-ref
                                    _tail748_
                                    '2
                                    std/srfi/116#<ilist>
                                    '#f))
                          '#f))))))))
  (define std/srfi/116#iany
    (lambda (_pred694_ _ilis1695_ . _ilists696_)
      (std/srfi/116#check-arg procedure? _pred694_ std/srfi/116#iany)
      (if (pair? _ilists696_)
          (call-with-values
           (lambda () (std/srfi/116#%cars+cdrs (cons _ilis1695_ _ilists696_)))
           (lambda (_heads699_ _tails700_)
             (if (pair? _heads699_)
                 (let _lp702_ ((_heads704_ _heads699_) (_tails705_ _tails700_))
                   (call-with-values
                    (lambda () (std/srfi/116#%cars+cdrs _tails705_))
                    (lambda (_next-heads708_ _next-tails709_)
                      (if (pair? _next-heads708_)
                          (let ((_$e711_ (apply _pred694_ _heads704_)))
                            (if _$e711_
                                _$e711_
                                (_lp702_ _next-heads708_ _next-tails709_)))
                          (apply _pred694_ _heads704_)))))
                 '#f)))
          (if (not (std/srfi/116#null-ilist? _ilis1695_))
              (let _lp714_ ((_head716_
                             (##structure-ref
                              _ilis1695_
                              '1
                              std/srfi/116#<ilist>
                              '#f))
                            (_tail717_
                             (##structure-ref
                              _ilis1695_
                              '2
                              std/srfi/116#<ilist>
                              '#f)))
                (if (std/srfi/116#null-ilist? _tail717_)
                    (_pred694_ _head716_)
                    (let ((_$e719_ (_pred694_ _head716_)))
                      (if _$e719_
                          _$e719_
                          (_lp714_ (##structure-ref
                                    _tail717_
                                    '1
                                    std/srfi/116#<ilist>
                                    '#f)
                                   (##structure-ref
                                    _tail717_
                                    '2
                                    std/srfi/116#<ilist>
                                    '#f))))))
              '#f))))
  (define std/srfi/116#ilist-index
    (lambda (_pred676_ _lis1677_ . _lists678_)
      (std/srfi/116#check-arg procedure? _pred676_ std/srfi/116#ilist-index)
      (if (pair? _lists678_)
          (let _lp680_ ((_lists682_ (cons _lis1677_ _lists678_)) (_n683_ '0))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs _lists682_))
             (lambda (_heads686_ _tails687_)
               (if (pair? _heads686_)
                   (if (apply _pred676_ _heads686_)
                       _n683_
                       (_lp680_ _tails687_ (+ _n683_ '1)))
                   '#f))))
          (let _lp689_ ((_lis691_ _lis1677_) (_n692_ '0))
            (if (not (std/srfi/116#null-ilist? _lis691_))
                (if (_pred676_
                     (##structure-ref _lis691_ '1 std/srfi/116#<ilist> '#f))
                    _n692_
                    (_lp689_ (##structure-ref
                              _lis691_
                              '2
                              std/srfi/116#<ilist>
                              '#f)
                             (+ _n692_ '1)))
                '#f)))))
  (define std/srfi/116#ireverse
    (lambda (_lis674_) (std/srfi/116#ifold std/srfi/116#ipair '() _lis674_))))
