(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 (_icar88689_ _icdr88690_)
      (make-struct-instance std/srfi/116#<ilist> _icar88689_ _icdr88690_)))
  (define std/srfi/116#replace-icar
    (lambda (_old88686_ _new88687_)
      (##structure
       std/srfi/116#<ilist>
       _new88687_
       (##structure-ref _old88686_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#replace-icdr
    (lambda (_old88683_ _new88684_)
      (##structure
       std/srfi/116#<ilist>
       (##structure-ref _old88683_ '1 std/srfi/116#<ilist> '#f)
       _new88684_)))
  (define std/srfi/116#pair->ipair
    (lambda (_pair88681_)
      (##structure std/srfi/116#<ilist> (car _pair88681_) (cdr _pair88681_))))
  (define std/srfi/116#ipair->pair
    (lambda (_ipair88679_)
      (cons (##structure-ref _ipair88679_ '1 std/srfi/116#<ilist> '#f)
            (##structure-ref _ipair88679_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#list->ilist
    (lambda (_list88673_)
      (let _lp88675_ ((_list88677_ _list88673_))
        (if (pair? _list88677_)
            (##structure
             std/srfi/116#<ilist>
             (car _list88677_)
             (_lp88675_ (cdr _list88677_)))
            _list88677_))))
  (define std/srfi/116#ilist
    (lambda _objs88671_ (std/srfi/116#list->ilist _objs88671_)))
  (define std/srfi/116#ilist->list
    (lambda (_ilist88665_)
      (let _lp88667_ ((_ilist88669_ _ilist88665_))
        (if (##structure-instance-of? _ilist88669_ 'std/srfi/116#<ilist>)
            (cons (##structure-ref _ilist88669_ '1 std/srfi/116#<ilist> '#f)
                  (_lp88667_
                   (##structure-ref _ilist88669_ '2 std/srfi/116#<ilist> '#f)))
            _ilist88669_))))
  (define std/srfi/116#tree->itree
    (lambda (_obj88663_)
      (if (pair? _obj88663_)
          (##structure
           std/srfi/116#<ilist>
           (std/srfi/116#tree->itree (car _obj88663_))
           (std/srfi/116#tree->itree (cdr _obj88663_)))
          _obj88663_)))
  (define std/srfi/116#itree->tree
    (lambda (_obj88661_)
      (if (##structure-instance-of? _obj88661_ 'std/srfi/116#<ilist>)
          (cons (std/srfi/116#itree->tree
                 (##structure-ref _obj88661_ '1 std/srfi/116#<ilist> '#f))
                (std/srfi/116#itree->tree
                 (##structure-ref _obj88661_ '2 std/srfi/116#<ilist> '#f)))
          _obj88661_)))
  (define std/srfi/116#gtree->itree
    (lambda (_obj88659_)
      (if (pair? _obj88659_)
          (##structure
           std/srfi/116#<ilist>
           (std/srfi/116#gtree->itree (car _obj88659_))
           (std/srfi/116#gtree->itree (cdr _obj88659_)))
          (if (##structure-instance-of? _obj88659_ 'std/srfi/116#<ilist>)
              (##structure
               std/srfi/116#<ilist>
               (std/srfi/116#gtree->itree
                (##structure-ref _obj88659_ '1 std/srfi/116#<ilist> '#f))
               (std/srfi/116#gtree->itree
                (##structure-ref _obj88659_ '2 std/srfi/116#<ilist> '#f)))
              _obj88659_))))
  (define std/srfi/116#gtree->tree
    (lambda (_obj88657_)
      (if (pair? _obj88657_)
          (cons (std/srfi/116#gtree->tree (car _obj88657_))
                (std/srfi/116#gtree->tree (cdr _obj88657_)))
          (if (##structure-instance-of? _obj88657_ 'std/srfi/116#<ilist>)
              (cons (std/srfi/116#gtree->tree
                     (##structure-ref _obj88657_ '1 std/srfi/116#<ilist> '#f))
                    (std/srfi/116#gtree->tree
                     (##structure-ref _obj88657_ '2 std/srfi/116#<ilist> '#f)))
              _obj88657_))))
  (define std/srfi/116#take!
    (lambda (_ls88652_ _i88653_)
      (if (<= _i88653_ '0)
          '()
          (let ((_tail88655_ (list-tail _ls88652_ (- _i88653_ '1))))
            (set-cdr! _tail88655_ '())
            _ls88652_))))
  (define std/srfi/116#drop-right!
    (lambda (_ls88649_ _i88650_)
      (std/srfi/116#take! _ls88649_ (- (length _ls88649_) _i88650_))))
  (define std/srfi/116#last
    (lambda (_ls88647_)
      (if (null? (cdr _ls88647_))
          (car _ls88647_)
          (std/srfi/116#last (cdr _ls88647_)))))
  (define std/srfi/116#iapply
    (lambda (_proc88642_ . _ilists88643_)
      (if (null? _ilists88643_)
          (apply _proc88642_ '())
          (if (null? (cdr _ilists88643_))
              (apply _proc88642_
                     (std/srfi/116#ilist->list (car _ilists88643_)))
              (let ((_final88645_
                     (std/srfi/116#ilist->list
                      (std/srfi/116#last _ilists88643_))))
                (apply _proc88642_
                       (append (std/srfi/116#drop-right! _ilists88643_ '1)
                               _final88645_)))))))
  (define std/srfi/116#write-ipair
    (lambda (_ipair88639_ _port88640_)
      (write (std/srfi/116#gtree->tree _ipair88639_) _port88640_)))
  (define std/srfi/116#iassq
    (lambda (_x88634_ _lis88635_)
      (std/srfi/116#ifind
       (lambda (_entry88637_)
         (eq? _x88634_
              (##structure-ref _entry88637_ '1 std/srfi/116#<ilist> '#f)))
       _lis88635_)))
  (define std/srfi/116#iassv
    (lambda (_x88629_ _lis88630_)
      (std/srfi/116#ifind
       (lambda (_entry88632_)
         (eqv? _x88629_
               (##structure-ref _entry88632_ '1 std/srfi/116#<ilist> '#f)))
       _lis88630_)))
  (define std/srfi/116#ifor-each
    (lambda (_proc88613_ _lis188614_ . _lists88615_)
      (std/srfi/116#check-arg
       procedure?
       _proc88613_
       std/srfi/116#ipair-for-each)
      (if (pair? _lists88615_)
          (let _lp88617_ ((_lists88619_ (cons _lis188614_ _lists88615_)))
            (let ((_tails88621_ (std/srfi/116#%cdrs _lists88619_)))
              (if (pair? _tails88621_)
                  (begin
                    (apply _proc88613_ (map std/srfi/116#icar _lists88619_))
                    (_lp88617_ _tails88621_))
                  '#!void)))
          (let _lp88623_ ((_lis88625_ _lis188614_))
            (if (not (std/srfi/116#null-ilist? _lis88625_))
                (let ((_tail88627_
                       (##structure-ref
                        _lis88625_
                        '2
                        std/srfi/116#<ilist>
                        '#f)))
                  (_proc88613_
                   (##structure-ref _lis88625_ '1 std/srfi/116#<ilist> '#f))
                  (_lp88623_ _tail88627_))
                '#!void)))))
  (define std/srfi/116#check-arg
    (lambda (_pred88605_ _val88606_ _caller88607_)
      (let _lp88609_ ((_val88611_ _val88606_))
        (if (_pred88605_ _val88611_)
            _val88611_
            (_lp88609_
             (error '"Bad argument" _val88611_ _pred88605_ _caller88607_))))))
  (define std/srfi/116#xipair
    (lambda (_d88602_ _a88603_)
      (##structure std/srfi/116#<ilist> _a88603_ _d88602_)))
  (define std/srfi/116#make-ilist
    (lambda (_len88589_ . _maybe-elt88590_)
      (std/srfi/116#check-arg
       (lambda (_n88592_) (if (integer? _n88592_) (>= _n88592_ '0) '#f))
       _len88589_
       std/srfi/116#make-ilist)
      (let ((_elt88594_
             (if (null? _maybe-elt88590_)
                 '#f
                 (if (null? (cdr _maybe-elt88590_))
                     (car _maybe-elt88590_)
                     (error '"Too many arguments to MAKE-ILIST"
                            (##structure
                             std/srfi/116#<ilist>
                             _len88589_
                             _maybe-elt88590_))))))
        (let _$loop88596_ ((_i88599_ _len88589_) (_ans88600_ '()))
          (if (<= _i88599_ '0)
              _ans88600_
              (_$loop88596_
               (- _i88599_ '1)
               (##structure std/srfi/116#<ilist> _elt88594_ _ans88600_)))))))
  (define std/srfi/116#ilist-tabulate
    (lambda (_len88578_ _proc88579_)
      (std/srfi/116#check-arg
       (lambda (_n88581_) (if (integer? _n88581_) (>= _n88581_ '0) '#f))
       _len88578_
       std/srfi/116#ilist-tabulate)
      (std/srfi/116#check-arg
       procedure?
       _proc88579_
       std/srfi/116#ilist-tabulate)
      (let _$loop88583_ ((_i88586_ (- _len88578_ '1)) (_ans88587_ '()))
        (if (< _i88586_ '0)
            _ans88587_
            (_$loop88583_
             (- _i88586_ '1)
             (##structure
              std/srfi/116#<ilist>
              (_proc88579_ _i88586_)
              _ans88587_))))))
  (define std/srfi/116#ipair*
    (lambda (_ifirst88570_ . _rest88571_)
      (let _recur88573_ ((_x88575_ _ifirst88570_) (_rest88576_ _rest88571_))
        (if (pair? _rest88576_)
            (##structure
             std/srfi/116#<ilist>
             _x88575_
             (_recur88573_ (car _rest88576_) (cdr _rest88576_)))
            _x88575_))))
  (define std/srfi/116#ilist-copy
    (lambda (_lis88564_)
      (let _recur88566_ ((_lis88568_ _lis88564_))
        (if (##structure-instance-of? _lis88568_ 'std/srfi/116#<ilist>)
            (##structure
             std/srfi/116#<ilist>
             (##structure-ref _lis88568_ '1 std/srfi/116#<ilist> '#f)
             (_recur88566_
              (##structure-ref _lis88568_ '2 std/srfi/116#<ilist> '#f)))
            _lis88568_))))
  (define std/srfi/116#iiota
    (lambda (_count88553_ . _maybe-start+step88554_)
      (std/srfi/116#check-arg integer? _count88553_ std/srfi/116#iiota)
      (if (< _count88553_ '0)
          (error '"Negative step count" std/srfi/116#iiota _count88553_)
          '#!void)
      (let ((_start88556_
             (if (pair? _maybe-start+step88554_)
                 (car _maybe-start+step88554_)
                 '0))
            (_step88557_
             (if (and (pair? _maybe-start+step88554_)
                      (pair? (cdr _maybe-start+step88554_)))
                 (cadr _maybe-start+step88554_)
                 '1)))
        (std/srfi/116#check-arg number? _start88556_ std/srfi/116#iiota)
        (std/srfi/116#check-arg number? _step88557_ std/srfi/116#iiota)
        (let _loop88559_ ((_n88561_ '0) (_r88562_ '()))
          (if (= _n88561_ _count88553_)
              (std/srfi/116#ireverse _r88562_)
              (_loop88559_
               (+ '1 _n88561_)
               (##structure
                std/srfi/116#<ilist>
                (+ _start88556_ (* _n88561_ _step88557_))
                _r88562_)))))))
  (define std/srfi/116#ilist?
    (lambda (_x88551_) (std/srfi/116#proper-ilist? _x88551_)))
  (define std/srfi/116#proper-ilist?
    (lambda (_x88539_)
      (let _lp88541_ ((_x88543_ _x88539_) (_lag88544_ _x88539_))
        (if (##structure-instance-of? _x88543_ 'std/srfi/116#<ilist>)
            (let ((_x88546_
                   (##structure-ref _x88543_ '2 std/srfi/116#<ilist> '#f)))
              (if (##structure-instance-of? _x88546_ 'std/srfi/116#<ilist>)
                  (let ((_x88548_
                         (##structure-ref
                          _x88546_
                          '2
                          std/srfi/116#<ilist>
                          '#f))
                        (_lag88549_
                         (##structure-ref
                          _lag88544_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                    (if (not (eq? _x88548_ _lag88549_))
                        (_lp88541_ _x88548_ _lag88549_)
                        '#f))
                  (null? _x88546_)))
            (null? _x88543_)))))
  (define std/srfi/116#dotted-ilist?
    (lambda (_x88527_)
      (let _lp88529_ ((_x88531_ _x88527_) (_lag88532_ _x88527_))
        (if (##structure-instance-of? _x88531_ 'std/srfi/116#<ilist>)
            (let ((_x88534_
                   (##structure-ref _x88531_ '2 std/srfi/116#<ilist> '#f)))
              (if (##structure-instance-of? _x88534_ 'std/srfi/116#<ilist>)
                  (let ((_x88536_
                         (##structure-ref
                          _x88534_
                          '2
                          std/srfi/116#<ilist>
                          '#f))
                        (_lag88537_
                         (##structure-ref
                          _lag88532_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                    (if (not (eq? _x88536_ _lag88537_))
                        (_lp88529_ _x88536_ _lag88537_)
                        '#f))
                  (not (null? _x88534_))))
            (not (null? _x88531_))))))
  (define std/srfi/116#not-ipair?
    (lambda (_x88525_)
      (not (##structure-instance-of? _x88525_ 'std/srfi/116#<ilist>))))
  (define std/srfi/116#null-ilist?
    (lambda (_l88523_)
      (if (##structure-instance-of? _l88523_ 'std/srfi/116#<ilist>)
          '#f
          (if (null? _l88523_)
              '#t
              (error '"null-ilist?: argument out of domain" _l88523_)))))
  (define std/srfi/116#ilist=
    (lambda (_=88501_ . _ilists88502_)
      (let ((_$e88504_ (null? _ilists88502_)))
        (if _$e88504_
            _$e88504_
            (let _lp188507_ ((_ilist-a88509_ (car _ilists88502_))
                             (_others88510_ (cdr _ilists88502_)))
              (let ((_$e88512_ (null? _others88510_)))
                (if _$e88512_
                    _$e88512_
                    (let ((_ilist-b88515_ (car _others88510_))
                          (_others88516_ (cdr _others88510_)))
                      (if (eq? _ilist-a88509_ _ilist-b88515_)
                          (_lp188507_ _ilist-b88515_ _others88516_)
                          (let _lp288518_ ((_pair-a88520_ _ilist-a88509_)
                                           (_pair-b88521_ _ilist-b88515_))
                            (if (std/srfi/116#null-ilist? _pair-a88520_)
                                (if (std/srfi/116#null-ilist? _pair-b88521_)
                                    (_lp188507_ _ilist-b88515_ _others88516_)
                                    '#f)
                                (if (not (std/srfi/116#null-ilist?
                                          _pair-b88521_))
                                    (if (_=88501_
                                         (##structure-ref
                                          _pair-a88520_
                                          '1
                                          std/srfi/116#<ilist>
                                          '#f)
                                         (##structure-ref
                                          _pair-b88521_
                                          '1
                                          std/srfi/116#<ilist>
                                          '#f))
                                        (_lp288518_
                                         (##structure-ref
                                          _pair-a88520_
                                          '2
                                          std/srfi/116#<ilist>
                                          '#f)
                                         (##structure-ref
                                          _pair-b88521_
                                          '2
                                          std/srfi/116#<ilist>
                                          '#f))
                                        '#f)
                                    '#f))))))))))))
  (define std/srfi/116#ilength
    (lambda (_x88494_)
      (let _lp88496_ ((_x88498_ _x88494_) (_len88499_ '0))
        (if (##structure-instance-of? _x88498_ 'std/srfi/116#<ilist>)
            (_lp88496_
             (##structure-ref _x88498_ '2 std/srfi/116#<ilist> '#f)
             (+ _len88499_ '1))
            _len88499_))))
  (define std/srfi/116#izip
    (lambda (_ilist188491_ . _more-lists88492_)
      (apply std/srfi/116#imap
             std/srfi/116#ilist
             _ilist188491_
             _more-lists88492_)))
  (define std/srfi/116#icaar
    (lambda (_x88489_)
      (##structure-ref
       (##structure-ref _x88489_ '1 std/srfi/116#<ilist> '#f)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icadr
    (lambda (_x88487_)
      (##structure-ref
       (##structure-ref _x88487_ '2 std/srfi/116#<ilist> '#f)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icdar
    (lambda (_x88485_)
      (##structure-ref
       (##structure-ref _x88485_ '1 std/srfi/116#<ilist> '#f)
       '2
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icddr
    (lambda (_x88483_)
      (##structure-ref
       (##structure-ref _x88483_ '2 std/srfi/116#<ilist> '#f)
       '2
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#icaaar
    (lambda (_x88481_)
      (std/srfi/116#icaar
       (##structure-ref _x88481_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaadr
    (lambda (_x88479_)
      (std/srfi/116#icaar
       (##structure-ref _x88479_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadar
    (lambda (_x88477_)
      (std/srfi/116#icadr
       (##structure-ref _x88477_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaddr
    (lambda (_x88475_)
      (std/srfi/116#icadr
       (##structure-ref _x88475_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaar
    (lambda (_x88473_)
      (std/srfi/116#icdar
       (##structure-ref _x88473_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdadr
    (lambda (_x88471_)
      (std/srfi/116#icdar
       (##structure-ref _x88471_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddar
    (lambda (_x88469_)
      (std/srfi/116#icddr
       (##structure-ref _x88469_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdddr
    (lambda (_x88467_)
      (std/srfi/116#icddr
       (##structure-ref _x88467_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaaaar
    (lambda (_x88465_)
      (std/srfi/116#icaaar
       (##structure-ref _x88465_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaaadr
    (lambda (_x88463_)
      (std/srfi/116#icaaar
       (##structure-ref _x88463_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaadar
    (lambda (_x88461_)
      (std/srfi/116#icaadr
       (##structure-ref _x88461_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaaddr
    (lambda (_x88459_)
      (std/srfi/116#icaadr
       (##structure-ref _x88459_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadaar
    (lambda (_x88457_)
      (std/srfi/116#icadar
       (##structure-ref _x88457_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadadr
    (lambda (_x88455_)
      (std/srfi/116#icadar
       (##structure-ref _x88455_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icaddar
    (lambda (_x88453_)
      (std/srfi/116#icaddr
       (##structure-ref _x88453_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icadddr
    (lambda (_x88451_)
      (std/srfi/116#icaddr
       (##structure-ref _x88451_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaaar
    (lambda (_x88449_)
      (std/srfi/116#icdaar
       (##structure-ref _x88449_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaadr
    (lambda (_x88447_)
      (std/srfi/116#icdaar
       (##structure-ref _x88447_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdadar
    (lambda (_x88445_)
      (std/srfi/116#icdadr
       (##structure-ref _x88445_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdaddr
    (lambda (_x88443_)
      (std/srfi/116#icdadr
       (##structure-ref _x88443_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddaar
    (lambda (_x88441_)
      (std/srfi/116#icddar
       (##structure-ref _x88441_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddadr
    (lambda (_x88439_)
      (std/srfi/116#icddar
       (##structure-ref _x88439_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icdddar
    (lambda (_x88437_)
      (std/srfi/116#icdddr
       (##structure-ref _x88437_ '1 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#icddddr
    (lambda (_x88435_)
      (std/srfi/116#icdddr
       (##structure-ref _x88435_ '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 (_x88433_)
      (##structure-ref
       (std/srfi/116#icddddr _x88433_)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#isixth
    (lambda (_x88431_) (std/srfi/116#icadr (std/srfi/116#icddddr _x88431_))))
  (define std/srfi/116#iseventh
    (lambda (_x88429_) (std/srfi/116#icaddr (std/srfi/116#icddddr _x88429_))))
  (define std/srfi/116#ieighth
    (lambda (_x88427_) (std/srfi/116#icadddr (std/srfi/116#icddddr _x88427_))))
  (define std/srfi/116#ininth
    (lambda (_x88425_)
      (##structure-ref
       (std/srfi/116#icddddr (std/srfi/116#icddddr _x88425_))
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#itenth
    (lambda (_x88423_)
      (std/srfi/116#icadr
       (std/srfi/116#icddddr (std/srfi/116#icddddr _x88423_)))))
  (define std/srfi/116#icar+icdr
    (lambda (_ipair88421_)
      (values (##structure-ref _ipair88421_ '1 std/srfi/116#<ilist> '#f)
              (##structure-ref _ipair88421_ '2 std/srfi/116#<ilist> '#f))))
  (define std/srfi/116#itake
    (lambda (_lis88413_ _k88414_)
      (std/srfi/116#check-arg integer? _k88414_ std/srfi/116#itake)
      (let _recur88416_ ((_lis88418_ _lis88413_) (_k88419_ _k88414_))
        (if (zero? _k88419_)
            '()
            (##structure
             std/srfi/116#<ilist>
             (##structure-ref _lis88418_ '1 std/srfi/116#<ilist> '#f)
             (_recur88416_
              (##structure-ref _lis88418_ '2 std/srfi/116#<ilist> '#f)
              (- _k88419_ '1)))))))
  (define std/srfi/116#ilist-tail
    (lambda (_lis88410_ _k88411_) (std/srfi/116#idrop _lis88410_ _k88411_)))
  (define std/srfi/116#idrop
    (lambda (_lis88402_ _k88403_)
      (std/srfi/116#check-arg integer? _k88403_ std/srfi/116#idrop)
      (let _iter88405_ ((_lis88407_ _lis88402_) (_k88408_ _k88403_))
        (if (zero? _k88408_)
            _lis88407_
            (_iter88405_
             (##structure-ref _lis88407_ '2 std/srfi/116#<ilist> '#f)
             (- _k88408_ '1))))))
  (define std/srfi/116#itake-right
    (lambda (_lis88394_ _k88395_)
      (std/srfi/116#check-arg integer? _k88395_ std/srfi/116#itake-right)
      (let _lp88397_ ((_lag88399_ _lis88394_)
                      (_lead88400_ (std/srfi/116#idrop _lis88394_ _k88395_)))
        (if (##structure-instance-of? _lead88400_ 'std/srfi/116#<ilist>)
            (_lp88397_
             (##structure-ref _lag88399_ '2 std/srfi/116#<ilist> '#f)
             (##structure-ref _lead88400_ '2 std/srfi/116#<ilist> '#f))
            _lag88399_))))
  (define std/srfi/116#idrop-right
    (lambda (_lis88386_ _k88387_)
      (std/srfi/116#check-arg integer? _k88387_ std/srfi/116#idrop-right)
      (let _recur88389_ ((_lag88391_ _lis88386_)
                         (_lead88392_
                          (std/srfi/116#idrop _lis88386_ _k88387_)))
        (if (##structure-instance-of? _lead88392_ 'std/srfi/116#<ilist>)
            (##structure
             std/srfi/116#<ilist>
             (##structure-ref _lag88391_ '1 std/srfi/116#<ilist> '#f)
             (_recur88389_
              (##structure-ref _lag88391_ '2 std/srfi/116#<ilist> '#f)
              (##structure-ref _lead88392_ '2 std/srfi/116#<ilist> '#f)))
            '()))))
  (define std/srfi/116#ilist-ref
    (lambda (_lis88383_ _i88384_)
      (##structure-ref
       (std/srfi/116#idrop _lis88383_ _i88384_)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#isplit-at
    (lambda (_x88371_ _k88372_)
      (std/srfi/116#check-arg integer? _k88372_ std/srfi/116#isplit-at)
      (let _recur88374_ ((_lis88376_ _x88371_) (_k88377_ _k88372_))
        (if (zero? _k88377_)
            (values '() _lis88376_)
            (call-with-values
             (lambda ()
               (_recur88374_
                (##structure-ref _lis88376_ '2 std/srfi/116#<ilist> '#f)
                (- _k88377_ '1)))
             (lambda (_prefix88380_ _suffix88381_)
               (values (##structure
                        std/srfi/116#<ilist>
                        (##structure-ref
                         _lis88376_
                         '1
                         std/srfi/116#<ilist>
                         '#f)
                        _prefix88380_)
                       _suffix88381_)))))))
  (define std/srfi/116#ilast
    (lambda (_lis88369_)
      (##structure-ref
       (std/srfi/116#last-ipair _lis88369_)
       '1
       std/srfi/116#<ilist>
       '#f)))
  (define std/srfi/116#last-ipair
    (lambda (_lis88361_)
      (std/srfi/116#check-arg
       std/srfi/116#ipair?
       _lis88361_
       std/srfi/116#last-ipair)
      (let _lp88363_ ((_lis88365_ _lis88361_))
        (let ((_tail88367_
               (##structure-ref _lis88365_ '2 std/srfi/116#<ilist> '#f)))
          (if (##structure-instance-of? _tail88367_ 'std/srfi/116#<ilist>)
              (_lp88363_ _tail88367_)
              _lis88365_)))))
  (define std/srfi/116#iunzip1
    (lambda (_lis88359_) (std/srfi/116#imap std/srfi/116#icar _lis88359_)))
  (define std/srfi/116#iunzip2
    (lambda (_lis88347_)
      (let _recur88349_ ((_lis88351_ _lis88347_))
        (if (std/srfi/116#null-ilist? _lis88351_)
            (values _lis88351_ _lis88351_)
            (let ((_elt88353_
                   (##structure-ref _lis88351_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur88349_
                  (##structure-ref _lis88351_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a88356_ _b88357_)
                 (values (##structure
                          std/srfi/116#<ilist>
                          (##structure-ref
                           _elt88353_
                           '1
                           std/srfi/116#<ilist>
                           '#f)
                          _a88356_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icadr _elt88353_)
                          _b88357_)))))))))
  (define std/srfi/116#iunzip3
    (lambda (_lis88334_)
      (let _recur88336_ ((_lis88338_ _lis88334_))
        (if (std/srfi/116#null-ilist? _lis88338_)
            (values _lis88338_ _lis88338_ _lis88338_)
            (let ((_elt88340_
                   (##structure-ref _lis88338_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur88336_
                  (##structure-ref _lis88338_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a88343_ _b88344_ _c88345_)
                 (values (##structure
                          std/srfi/116#<ilist>
                          (##structure-ref
                           _elt88340_
                           '1
                           std/srfi/116#<ilist>
                           '#f)
                          _a88343_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icadr _elt88340_)
                          _b88344_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icaddr _elt88340_)
                          _c88345_)))))))))
  (define std/srfi/116#iunzip4
    (lambda (_lis88320_)
      (let _recur88322_ ((_lis88324_ _lis88320_))
        (if (std/srfi/116#null-ilist? _lis88324_)
            (values _lis88324_ _lis88324_ _lis88324_ _lis88324_)
            (let ((_elt88326_
                   (##structure-ref _lis88324_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur88322_
                  (##structure-ref _lis88324_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a88329_ _b88330_ _c88331_ _d88332_)
                 (values (##structure
                          std/srfi/116#<ilist>
                          (##structure-ref
                           _elt88326_
                           '1
                           std/srfi/116#<ilist>
                           '#f)
                          _a88329_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icadr _elt88326_)
                          _b88330_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icaddr _elt88326_)
                          _c88331_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icadddr _elt88326_)
                          _d88332_)))))))))
  (define std/srfi/116#iunzip5
    (lambda (_lis88305_)
      (let _recur88307_ ((_lis88309_ _lis88305_))
        (if (std/srfi/116#null-ilist? _lis88309_)
            (values _lis88309_ _lis88309_ _lis88309_ _lis88309_ _lis88309_)
            (let ((_elt88311_
                   (##structure-ref _lis88309_ '1 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda ()
                 (_recur88307_
                  (##structure-ref _lis88309_ '2 std/srfi/116#<ilist> '#f)))
               (lambda (_a88314_ _b88315_ _c88316_ _d88317_ _e88318_)
                 (values (##structure
                          std/srfi/116#<ilist>
                          (##structure-ref
                           _elt88311_
                           '1
                           std/srfi/116#<ilist>
                           '#f)
                          _a88314_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icadr _elt88311_)
                          _b88315_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icaddr _elt88311_)
                          _c88316_)
                         (##structure
                          std/srfi/116#<ilist>
                          (std/srfi/116#icadddr _elt88311_)
                          _d88317_)
                         (##structure
                          std/srfi/116#<ilist>
                          (##structure-ref
                           (std/srfi/116#icddddr _elt88311_)
                           '1
                           std/srfi/116#<ilist>
                           '#f)
                          _e88318_)))))))))
  (define std/srfi/116#iappend
    (lambda _lists88296_
      (if (pair? _lists88296_)
          (let _recur88298_ ((_list188300_ (car _lists88296_))
                             (_lists88301_ (cdr _lists88296_)))
            (if (pair? _lists88301_)
                (let ((_tail88303_
                       (_recur88298_ (car _lists88301_) (cdr _lists88301_))))
                  (std/srfi/116#ifold-right
                   std/srfi/116#ipair
                   _tail88303_
                   _list188300_))
                _list188300_))
          '())))
  (define std/srfi/116#iappend-reverse
    (lambda (_rev-head88288_ _tail88289_)
      (let _lp88291_ ((_rev-head88293_ _rev-head88288_)
                      (_tail88294_ _tail88289_))
        (if (std/srfi/116#null-ilist? _rev-head88293_)
            _tail88294_
            (_lp88291_
             (##structure-ref _rev-head88293_ '2 std/srfi/116#<ilist> '#f)
             (##structure
              std/srfi/116#<ilist>
              (##structure-ref _rev-head88293_ '1 std/srfi/116#<ilist> '#f)
              _tail88294_))))))
  (define std/srfi/116#iconcatenate
    (lambda (_lists88286_)
      (std/srfi/116#ireduce-right std/srfi/116#iappend '() _lists88286_)))
  (define std/srfi/116#%cdrs
    (lambda (_lists88276_)
      (call-with-current-continuation
       (lambda (_abort88278_)
         (let _recur88280_ ((_lists88282_ _lists88276_))
           (if (pair? _lists88282_)
               (let ((_lis88284_ (car _lists88282_)))
                 (if (null? _lis88284_)
                     (_abort88278_ '())
                     (cons (##structure-ref
                            _lis88284_
                            '2
                            std/srfi/116#<ilist>
                            '#f)
                           (_recur88280_ (cdr _lists88282_)))))
               '()))))))
  (define std/srfi/116#%cars+
    (lambda (_lists88269_ _last-elt88270_)
      (let _recur88272_ ((_lists88274_ _lists88269_))
        (if (pair? _lists88274_)
            (cons (##structure-ref
                   (car _lists88274_)
                   '1
                   std/srfi/116#<ilist>
                   '#f)
                  (_recur88272_ (cdr _lists88274_)))
            (list _last-elt88270_)))))
  (define std/srfi/116#%cars+cdrs
    (lambda (_ilists88251_)
      (call-with-current-continuation
       (lambda (_abort88253_)
         (let _recur88255_ ((_ilists88257_ _ilists88251_))
           (if (pair? _ilists88257_)
               (let ((_ilist88259_ (car _ilists88257_))
                     (_other-ilists88260_ (cdr _ilists88257_)))
                 (if (null? _ilist88259_)
                     (_abort88253_ '() '())
                     (let ((_a88262_
                            (##structure-ref
                             _ilist88259_
                             '1
                             std/srfi/116#<ilist>
                             '#f))
                           (_d88263_
                            (##structure-ref
                             _ilist88259_
                             '2
                             std/srfi/116#<ilist>
                             '#f)))
                       (call-with-values
                        (lambda () (_recur88255_ _other-ilists88260_))
                        (lambda (_icars88266_ _icdrs88267_)
                          (values (cons _a88262_ _icars88266_)
                                  (cons _d88263_ _icdrs88267_)))))))
               (values '() '())))))))
  (define std/srfi/116#%cars+cdrs+
    (lambda (_ilists88231_ _cars-final88232_)
      (call-with-current-continuation
       (lambda (_abort88234_)
         (let _recur88236_ ((_ilists88238_ _ilists88231_))
           (if (pair? _ilists88238_)
               (let ((_ilist88240_ (car _ilists88238_))
                     (_other-ilists88241_ (cdr _ilists88238_)))
                 (if (null? _ilist88240_)
                     (_abort88234_ '() '())
                     (call-with-values
                      (lambda () (std/srfi/116#icar+icdr _ilist88240_))
                      (lambda (_a88244_ _d88245_)
                        (call-with-values
                         (lambda () (_recur88236_ _other-ilists88241_))
                         (lambda (_cars88248_ _cdrs88249_)
                           (values (cons _a88244_ _cars88248_)
                                   (cons _d88245_ _cdrs88249_))))))))
               (values (list _cars-final88232_) '())))))))
  (define std/srfi/116#%cars+cdrs/no-test
    (lambda (_ilists88215_)
      (let _recur88217_ ((_ilists88219_ _ilists88215_))
        (if (pair? _ilists88219_)
            (let ((_ilist88221_ (car _ilists88219_))
                  (_other-ilists88222_ (cdr _ilists88219_)))
              (let ((_a88224_
                     (##structure-ref
                      _ilist88221_
                      '1
                      std/srfi/116#<ilist>
                      '#f))
                    (_d88225_
                     (##structure-ref
                      _ilist88221_
                      '2
                      std/srfi/116#<ilist>
                      '#f)))
                (call-with-values
                 (lambda () (_recur88217_ _other-ilists88222_))
                 (lambda (_cars88228_ _cdrs88229_)
                   (values (cons _a88224_ _cars88228_)
                           (cons _d88225_ _cdrs88229_))))))
            (values '() '())))))
  (define std/srfi/116#icount
    (lambda (_pred88196_ _ilist188197_ . _ilists88198_)
      (std/srfi/116#check-arg procedure? _pred88196_ std/srfi/116#icount)
      (if (pair? _ilists88198_)
          (let _lp88200_ ((_ilist188202_ _ilist188197_)
                          (_ilists88203_ _ilists88198_)
                          (_i88204_ '0))
            (if (std/srfi/116#null-ilist? _ilist188202_)
                _i88204_
                (call-with-values
                 (lambda () (std/srfi/116#%cars+cdrs _ilists88203_))
                 (lambda (_as88207_ _ds88208_)
                   (if (null? _as88207_)
                       _i88204_
                       (_lp88200_
                        (##structure-ref
                         _ilist188202_
                         '2
                         std/srfi/116#<ilist>
                         '#f)
                        _ds88208_
                        (if (apply _pred88196_
                                   (##structure-ref
                                    _ilist188202_
                                    '1
                                    std/srfi/116#<ilist>
                                    '#f)
                                   _as88207_)
                            (+ _i88204_ '1)
                            _i88204_)))))))
          (let _lp88210_ ((_lis88212_ _ilist188197_) (_i88213_ '0))
            (if (std/srfi/116#null-ilist? _lis88212_)
                _i88213_
                (_lp88210_
                 (##structure-ref _lis88212_ '2 std/srfi/116#<ilist> '#f)
                 (if (_pred88196_
                      (##structure-ref _lis88212_ '1 std/srfi/116#<ilist> '#f))
                     (+ _i88213_ '1)
                     _i88213_)))))))
  (define std/srfi/116#iunfold-right
    (lambda (_p88185_ _f88186_ _g88187_ _seed88188_ . _maybe-tail88189_)
      (std/srfi/116#check-arg procedure? _p88185_ std/srfi/116#iunfold-right)
      (std/srfi/116#check-arg procedure? _f88186_ std/srfi/116#iunfold-right)
      (std/srfi/116#check-arg procedure? _g88187_ std/srfi/116#iunfold-right)
      (let _lp88191_ ((_seed88193_ _seed88188_)
                      (_ans88194_
                       (if (null? _maybe-tail88189_)
                           '()
                           (if (null? (cdr _maybe-tail88189_))
                               (car _maybe-tail88189_)
                               (error '"Too many arguments")))))
        (if (_p88185_ _seed88193_)
            _ans88194_
            (_lp88191_
             (_g88187_ _seed88193_)
             (##structure
              std/srfi/116#<ilist>
              (_f88186_ _seed88193_)
              _ans88194_))))))
  (define std/srfi/116#iunfold
    (lambda (_p88169_ _f88170_ _g88171_ _seed88172_ . _maybe-tail-gen88173_)
      (std/srfi/116#check-arg procedure? _p88169_ std/srfi/116#iunfold)
      (std/srfi/116#check-arg procedure? _f88170_ std/srfi/116#iunfold)
      (std/srfi/116#check-arg procedure? _g88171_ std/srfi/116#iunfold)
      (if (pair? _maybe-tail-gen88173_)
          (let ((_tail-gen88175_ (car _maybe-tail-gen88173_)))
            (if (pair? (cdr _maybe-tail-gen88173_))
                (apply error
                       '"Too many arguments"
                       std/srfi/116#iunfold
                       _p88169_
                       _f88170_
                       _g88171_
                       _seed88172_
                       _maybe-tail-gen88173_)
                (let _recur88177_ ((_seed88179_ _seed88172_))
                  (if (_p88169_ _seed88179_)
                      (_tail-gen88175_ _seed88179_)
                      (##structure
                       std/srfi/116#<ilist>
                       (_f88170_ _seed88179_)
                       (_recur88177_ (_g88171_ _seed88179_)))))))
          (let _recur88181_ ((_seed88183_ _seed88172_))
            (if (_p88169_ _seed88183_)
                '()
                (##structure
                 std/srfi/116#<ilist>
                 (_f88170_ _seed88183_)
                 (_recur88181_ (_g88171_ _seed88183_))))))))
  (define std/srfi/116#ifold
    (lambda (_kons88150_ _knil88151_ _ilis188152_ . _ilists88153_)
      (std/srfi/116#check-arg procedure? _kons88150_ std/srfi/116#ifold)
      (if (pair? _ilists88153_)
          (let _lp88155_ ((_ilists88157_ (cons _ilis188152_ _ilists88153_))
                          (_ans88158_ _knil88151_))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs+ _ilists88157_ _ans88158_))
             (lambda (_cars+ans88161_ _cdrs88162_)
               (if (null? _cars+ans88161_)
                   _ans88158_
                   (_lp88155_
                    _cdrs88162_
                    (apply _kons88150_ _cars+ans88161_))))))
          (let _lp88164_ ((_ilis88166_ _ilis188152_) (_ans88167_ _knil88151_))
            (if (std/srfi/116#null-ilist? _ilis88166_)
                _ans88167_
                (_lp88164_
                 (##structure-ref _ilis88166_ '2 std/srfi/116#<ilist> '#f)
                 (_kons88150_
                  (##structure-ref _ilis88166_ '1 std/srfi/116#<ilist> '#f)
                  _ans88167_)))))))
  (define std/srfi/116#ifold-right
    (lambda (_kons88133_ _knil88134_ _ilis188135_ . _ilists88136_)
      (std/srfi/116#check-arg procedure? _kons88133_ std/srfi/116#ifold-right)
      (if (pair? _ilists88136_)
          (let _recur88138_ ((_ilists88140_ (cons _ilis188135_ _ilists88136_)))
            (let ((_cdrs88142_ (std/srfi/116#%cdrs _ilists88140_)))
              (if (null? _cdrs88142_)
                  _knil88134_
                  (apply _kons88133_
                         (std/srfi/116#%cars+
                          _ilists88140_
                          (_recur88138_ _cdrs88142_))))))
          (let _recur88144_ ((_ilis88146_ _ilis188135_))
            (if (null? _ilis88146_)
                _knil88134_
                (let ((_head88148_
                       (##structure-ref
                        _ilis88146_
                        '1
                        std/srfi/116#<ilist>
                        '#f)))
                  (_kons88133_
                   _head88148_
                   (_recur88144_
                    (##structure-ref
                     _ilis88146_
                     '2
                     std/srfi/116#<ilist>
                     '#f)))))))))
  (define std/srfi/116#ipair-fold-right
    (lambda (_f88118_ _zero88119_ _ilis188120_ . _ilists88121_)
      (std/srfi/116#check-arg
       procedure?
       _f88118_
       std/srfi/116#ipair-fold-right)
      (if (pair? _ilists88121_)
          (let _recur88123_ ((_ilists88125_ (cons _ilis188120_ _ilists88121_)))
            (let ((_cdrs88127_ (std/srfi/116#%cdrs _ilists88125_)))
              (if (null? _cdrs88127_)
                  _zero88119_
                  (apply _f88118_
                         (append _ilists88125_
                                 (list (_recur88123_ _cdrs88127_)))))))
          (let _recur88129_ ((_ilis88131_ _ilis188120_))
            (if (std/srfi/116#null-ilist? _ilis88131_)
                _zero88119_
                (_f88118_
                 _ilis88131_
                 (_recur88129_
                  (##structure-ref
                   _ilis88131_
                   '2
                   std/srfi/116#<ilist>
                   '#f))))))))
  (define std/srfi/116#ipair-fold
    (lambda (_f88099_ _zero88100_ _ilis188101_ . _ilists88102_)
      (std/srfi/116#check-arg procedure? _f88099_ std/srfi/116#ipair-fold)
      (if (pair? _ilists88102_)
          (let _lp88104_ ((_ilists88106_ (cons _ilis188101_ _ilists88102_))
                          (_ans88107_ _zero88100_))
            (let ((_tails88109_ (std/srfi/116#%cdrs _ilists88106_)))
              (if (null? _tails88109_)
                  _ans88107_
                  (_lp88104_
                   _tails88109_
                   (apply _f88099_
                          (append _ilists88106_ (list _ans88107_)))))))
          (let _lp88111_ ((_ilis88113_ _ilis188101_) (_ans88114_ _zero88100_))
            (if (std/srfi/116#null-ilist? _ilis88113_)
                _ans88114_
                (let ((_tail88116_
                       (##structure-ref
                        _ilis88113_
                        '2
                        std/srfi/116#<ilist>
                        '#f)))
                  (_lp88111_
                   _tail88116_
                   (_f88099_ _ilis88113_ _ans88114_))))))))
  (define std/srfi/116#ireduce
    (lambda (_f88095_ _ridentity88096_ _ilis88097_)
      (std/srfi/116#check-arg procedure? _f88095_ std/srfi/116#ireduce)
      (if (std/srfi/116#null-ilist? _ilis88097_)
          _ridentity88096_
          (std/srfi/116#ifold
           _f88095_
           (##structure-ref _ilis88097_ '1 std/srfi/116#<ilist> '#f)
           (##structure-ref _ilis88097_ '2 std/srfi/116#<ilist> '#f)))))
  (define std/srfi/116#ireduce-right
    (lambda (_f88086_ _ridentity88087_ _ilis88088_)
      (std/srfi/116#check-arg procedure? _f88086_ std/srfi/116#ireduce-right)
      (if (std/srfi/116#null-ilist? _ilis88088_)
          _ridentity88087_
          (let _recur88090_ ((_head88092_
                              (##structure-ref
                               _ilis88088_
                               '1
                               std/srfi/116#<ilist>
                               '#f))
                             (_ilis88093_
                              (##structure-ref
                               _ilis88088_
                               '2
                               std/srfi/116#<ilist>
                               '#f)))
            (if (##structure-instance-of? _ilis88093_ 'std/srfi/116#<ilist>)
                (_f88086_
                 _head88092_
                 (_recur88090_
                  (##structure-ref _ilis88093_ '1 std/srfi/116#<ilist> '#f)
                  (##structure-ref _ilis88093_ '2 std/srfi/116#<ilist> '#f)))
                _head88092_)))))
  (define std/srfi/116#iappend-map
    (lambda (_f88082_ _ilis188083_ . _ilists88084_)
      (std/srfi/116#really-iappend-map
       std/srfi/116#iappend-map
       std/srfi/116#iappend
       _f88082_
       _ilis188083_
       _ilists88084_)))
  (define std/srfi/116#really-iappend-map
    (lambda (_who88054_ _appender88055_ _f88056_ _ilis188057_ _ilists88058_)
      (std/srfi/116#check-arg procedure? _f88056_ _who88054_)
      (if (pair? _ilists88058_)
          (call-with-values
           (lambda ()
             (std/srfi/116#%cars+cdrs (cons _ilis188057_ _ilists88058_)))
           (lambda (_cars88061_ _cdrs88062_)
             (if (null? _cars88061_)
                 '()
                 (let _recur88064_ ((_cars88066_ _cars88061_)
                                    (_cdrs88067_ _cdrs88062_))
                   (let ((_vals88069_ (apply _f88056_ _cars88066_)))
                     (call-with-values
                      (lambda () (std/srfi/116#%cars+cdrs _cdrs88067_))
                      (lambda (_cars288072_ _cdrs288073_)
                        (if (null? _cars288072_)
                            _vals88069_
                            (_appender88055_
                             _vals88069_
                             (_recur88064_ _cars288072_ _cdrs288073_))))))))))
          (if (std/srfi/116#null-ilist? _ilis188057_)
              '()
              (let _recur88075_ ((_elt88077_
                                  (##structure-ref
                                   _ilis188057_
                                   '1
                                   std/srfi/116#<ilist>
                                   '#f))
                                 (_rest88078_
                                  (##structure-ref
                                   _ilis188057_
                                   '2
                                   std/srfi/116#<ilist>
                                   '#f)))
                (let ((_vals88080_ (_f88056_ _elt88077_)))
                  (if (std/srfi/116#null-ilist? _rest88078_)
                      _vals88080_
                      (_appender88055_
                       _vals88080_
                       (_recur88075_
                        (##structure-ref
                         _rest88078_
                         '1
                         std/srfi/116#<ilist>
                         '#f)
                        (##structure-ref
                         _rest88078_
                         '2
                         std/srfi/116#<ilist>
                         '#f))))))))))
  (define std/srfi/116#ipair-for-each
    (lambda (_proc88038_ _ilis188039_ . _ilists88040_)
      (std/srfi/116#check-arg
       procedure?
       _proc88038_
       std/srfi/116#ipair-for-each)
      (if (pair? _ilists88040_)
          (let _lp88042_ ((_ilists88044_ (cons _ilis188039_ _ilists88040_)))
            (let ((_itails88046_ (std/srfi/116#%cdrs _ilists88044_)))
              (if (pair? _itails88046_)
                  (begin
                    (apply _proc88038_ _ilists88044_)
                    (_lp88042_ _itails88046_))
                  '#!void)))
          (let _lp88048_ ((_ilis88050_ _ilis188039_))
            (if (not (std/srfi/116#null-ilist? _ilis88050_))
                (let ((_tail88052_
                       (##structure-ref
                        _ilis88050_
                        '2
                        std/srfi/116#<ilist>
                        '#f)))
                  (_proc88038_ _ilis88050_)
                  (_lp88048_ _tail88052_))
                '#!void)))))
  (define std/srfi/116#ifilter-map
    (lambda (_f88010_ _ilis188011_ . _ilists88012_)
      (std/srfi/116#check-arg procedure? _f88010_ std/srfi/116#ifilter-map)
      (if (pair? _ilists88012_)
          (let _recur88014_ ((_ilists88016_ (cons _ilis188011_ _ilists88012_)))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs _ilists88016_))
             (lambda (_cars88019_ _cdrs88020_)
               (if (pair? _cars88019_)
                   (let ((_$e88022_ (apply _f88010_ _cars88019_)))
                     (if _$e88022_
                         ((lambda (_x88025_)
                            (##structure
                             std/srfi/116#<ilist>
                             _x88025_
                             (_recur88014_ _cdrs88020_)))
                          _$e88022_)
                         (_recur88014_ _cdrs88020_)))
                   '()))))
          (let _recur88027_ ((_ilis88029_ _ilis188011_))
            (if (std/srfi/116#null-ilist? _ilis88029_)
                _ilis88029_
                (let* ((_tail88031_
                        (_recur88027_
                         (##structure-ref
                          _ilis88029_
                          '2
                          std/srfi/116#<ilist>
                          '#f)))
                       (_$e88033_
                        (_f88010_
                         (##structure-ref
                          _ilis88029_
                          '1
                          std/srfi/116#<ilist>
                          '#f))))
                  (if _$e88033_
                      ((lambda (_x88036_)
                         (##structure
                          std/srfi/116#<ilist>
                          _x88036_
                          _tail88031_))
                       _$e88033_)
                      _tail88031_)))))))
  (define std/srfi/116#imap-in-order
    (lambda (_f87989_ _lis187990_ . _lists87991_)
      (std/srfi/116#check-arg procedure? _f87989_ std/srfi/116#imap-in-order)
      (if (pair? _lists87991_)
          (let _recur87993_ ((_lists87995_ (cons _lis187990_ _lists87991_)))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs _lists87995_))
             (lambda (_cars87998_ _cdrs87999_)
               (if (pair? _cars87998_)
                   (let ((_x88001_ (apply _f87989_ _cars87998_)))
                     (##structure
                      std/srfi/116#<ilist>
                      _x88001_
                      (_recur87993_ _cdrs87999_)))
                   '()))))
          (let _recur88003_ ((_lis88005_ _lis187990_))
            (if (std/srfi/116#null-ilist? _lis88005_)
                _lis88005_
                (let ((_tail88007_
                       (##structure-ref
                        _lis88005_
                        '2
                        std/srfi/116#<ilist>
                        '#f))
                      (_x88008_
                       (_f87989_
                        (##structure-ref
                         _lis88005_
                         '1
                         std/srfi/116#<ilist>
                         '#f))))
                  (##structure
                   std/srfi/116#<ilist>
                   _x88008_
                   (_recur88003_ _tail88007_))))))))
  (define std/srfi/116#imap std/srfi/116#imap-in-order)
  (define std/srfi/116#ifilter
    (lambda (_pred87977_ _lis87978_)
      (std/srfi/116#check-arg procedure? _pred87977_ std/srfi/116#ifilter)
      (let _recur87980_ ((_lis87982_ _lis87978_))
        (if (std/srfi/116#null-ilist? _lis87982_)
            _lis87982_
            (let ((_head87984_
                   (##structure-ref _lis87982_ '1 std/srfi/116#<ilist> '#f))
                  (_tail87985_
                   (##structure-ref _lis87982_ '2 std/srfi/116#<ilist> '#f)))
              (if (_pred87977_ _head87984_)
                  (let ((_new-tail87987_ (_recur87980_ _tail87985_)))
                    (if (eq? _tail87985_ _new-tail87987_)
                        _lis87982_
                        (##structure
                         std/srfi/116#<ilist>
                         _head87984_
                         _new-tail87987_)))
                  (_recur87980_ _tail87985_)))))))
  (define std/srfi/116#ipartition
    (lambda (_pred87963_ _lis87964_)
      (std/srfi/116#check-arg procedure? _pred87963_ std/srfi/116#ipartition)
      (let _recur87966_ ((_lis87968_ _lis87964_))
        (if (std/srfi/116#null-ilist? _lis87968_)
            (values _lis87968_ _lis87968_)
            (let ((_elt87970_
                   (##structure-ref _lis87968_ '1 std/srfi/116#<ilist> '#f))
                  (_tail87971_
                   (##structure-ref _lis87968_ '2 std/srfi/116#<ilist> '#f)))
              (call-with-values
               (lambda () (_recur87966_ _tail87971_))
               (lambda (_in87974_ _out87975_)
                 (if (_pred87963_ _elt87970_)
                     (values (if (##structure-instance-of?
                                  _out87975_
                                  'std/srfi/116#<ilist>)
                                 (##structure
                                  std/srfi/116#<ilist>
                                  _elt87970_
                                  _in87974_)
                                 _lis87968_)
                             _out87975_)
                     (values _in87974_
                             (if (##structure-instance-of?
                                  _in87974_
                                  'std/srfi/116#<ilist>)
                                 (##structure
                                  std/srfi/116#<ilist>
                                  _elt87970_
                                  _out87975_)
                                 _lis87968_))))))))))
  (define std/srfi/116#iremove
    (lambda (_pred87958_ _l87959_)
      (std/srfi/116#ifilter
       (lambda (_x87961_) (not (_pred87958_ _x87961_)))
       _l87959_)))
  (define std/srfi/116#idelete
    (lambda (_x87950_ _lis87951_ . _maybe-=87952_)
      (let ((_=87954_
             (if (null? _maybe-=87952_)
                 equal?
                 (if (null? (cdr _maybe-=87952_))
                     (car _maybe-=87952_)
                     (error '"Too many arguments")))))
        (std/srfi/116#ifilter
         (lambda (_y87956_) (not (_=87954_ _x87950_ _y87956_)))
         _lis87951_))))
  (define std/srfi/116#imember
    (lambda (_x87942_ _lis87943_ . _maybe-=87944_)
      (let ((_=87946_
             (if (null? _maybe-=87944_)
                 equal?
                 (if (null? (cdr _maybe-=87944_))
                     (car _maybe-=87944_)
                     (error '"Too many arguments")))))
        (std/srfi/116#ifind-tail
         (lambda (_y87948_) (_=87946_ _x87942_ _y87948_))
         _lis87943_))))
  (define std/srfi/116#imemq
    (lambda (_x87939_ _lis87940_)
      (std/srfi/116#imember _x87939_ _lis87940_ eq?)))
  (define std/srfi/116#imemv
    (lambda (_x87936_ _lis87937_)
      (std/srfi/116#imember _x87936_ _lis87937_ eqv?)))
  (define std/srfi/116#idelete-duplicates
    (lambda (_lis87920_ . _maybe-=87921_)
      (let ((_elt=87923_
             (if (null? _maybe-=87921_)
                 equal?
                 (if (null? (cdr _maybe-=87921_))
                     (car _maybe-=87921_)
                     (error '"Too many arguments")))))
        (std/srfi/116#check-arg
         procedure?
         _elt=87923_
         std/srfi/116#idelete-duplicates)
        (let _recur87925_ ((_lis87927_ _lis87920_))
          (if (std/srfi/116#null-ilist? _lis87927_)
              _lis87927_
              (let* ((_x87929_
                      (##structure-ref _lis87927_ '1 std/srfi/116#<ilist> '#f))
                     (_tail87931_
                      (##structure-ref _lis87927_ '2 std/srfi/116#<ilist> '#f))
                     (_new-tail87933_
                      (_recur87925_
                       (std/srfi/116#idelete
                        _x87929_
                        _tail87931_
                        _elt=87923_))))
                (if (eq? _tail87931_ _new-tail87933_)
                    _lis87927_
                    (##structure
                     std/srfi/116#<ilist>
                     _x87929_
                     _new-tail87933_))))))))
  (define std/srfi/116#iassoc
    (lambda (_x87912_ _lis87913_ . _maybe-=87914_)
      (let ((_=87916_
             (if (null? _maybe-=87914_)
                 equal?
                 (if (null? (cdr _maybe-=87914_))
                     (car _maybe-=87914_)
                     (error '"Too many arguments")))))
        (std/srfi/116#ifind
         (lambda (_entry87918_)
           (_=87916_
            _x87912_
            (##structure-ref _entry87918_ '1 std/srfi/116#<ilist> '#f)))
         _lis87913_))))
  (define std/srfi/116#ialist-cons
    (lambda (_key87908_ _datum87909_ _alist87910_)
      (##structure
       std/srfi/116#<ilist>
       (##structure std/srfi/116#<ilist> _key87908_ _datum87909_)
       _alist87910_)))
  (define std/srfi/116#alist-copy
    (lambda (_alist87904_)
      (std/srfi/116#imap
       (lambda (_elt87906_)
         (##structure
          std/srfi/116#<ilist>
          (##structure-ref _elt87906_ '1 std/srfi/116#<ilist> '#f)
          (##structure-ref _elt87906_ '2 std/srfi/116#<ilist> '#f)))
       _alist87904_)))
  (define std/srfi/116#ialist-delete
    (lambda (_key87896_ _alist87897_ . _maybe-=87898_)
      (let ((_=87900_
             (if (null? _maybe-=87898_)
                 equal?
                 (if (null? (cdr _maybe-=87898_))
                     (car _maybe-=87898_)
                     (error '"Too many arguments")))))
        (std/srfi/116#ifilter
         (lambda (_elt87902_)
           (not (_=87900_
                 _key87896_
                 (##structure-ref _elt87902_ '1 std/srfi/116#<ilist> '#f))))
         _alist87897_))))
  (define std/srfi/116#ifind
    (lambda (_pred87890_ _ilist87891_)
      (let ((_$e87893_ (std/srfi/116#ifind-tail _pred87890_ _ilist87891_)))
        (if _$e87893_
            (##structure-ref _$e87893_ '1 std/srfi/116#<ilist> '#f)
            '#f))))
  (define std/srfi/116#ifind-tail
    (lambda (_pred87883_ _ilist87884_)
      (std/srfi/116#check-arg procedure? _pred87883_ std/srfi/116#ifind-tail)
      (let _lp87886_ ((_ilist87888_ _ilist87884_))
        (if (not (std/srfi/116#null-ilist? _ilist87888_))
            (if (_pred87883_
                 (##structure-ref _ilist87888_ '1 std/srfi/116#<ilist> '#f))
                _ilist87888_
                (_lp87886_
                 (##structure-ref _ilist87888_ '2 std/srfi/116#<ilist> '#f)))
            '#f))))
  (define std/srfi/116#itake-while
    (lambda (_pred87874_ _lis87875_)
      (std/srfi/116#check-arg procedure? _pred87874_ std/srfi/116#itake-while)
      (let _recur87877_ ((_lis87879_ _lis87875_))
        (if (std/srfi/116#null-ilist? _lis87879_)
            '()
            (let ((_x87881_
                   (##structure-ref _lis87879_ '1 std/srfi/116#<ilist> '#f)))
              (if (_pred87874_ _x87881_)
                  (##structure
                   std/srfi/116#<ilist>
                   _x87881_
                   (_recur87877_
                    (##structure-ref _lis87879_ '2 std/srfi/116#<ilist> '#f)))
                  '()))))))
  (define std/srfi/116#idrop-while
    (lambda (_pred87867_ _lis87868_)
      (std/srfi/116#check-arg procedure? _pred87867_ std/srfi/116#idrop-while)
      (let _lp87870_ ((_lis87872_ _lis87868_))
        (if (std/srfi/116#null-ilist? _lis87872_)
            '()
            (if (_pred87867_
                 (##structure-ref _lis87872_ '1 std/srfi/116#<ilist> '#f))
                (_lp87870_
                 (##structure-ref _lis87872_ '2 std/srfi/116#<ilist> '#f))
                _lis87872_)))))
  (define std/srfi/116#ispan
    (lambda (_pred87854_ _lis87855_)
      (std/srfi/116#check-arg procedure? _pred87854_ std/srfi/116#ispan)
      (let _recur87857_ ((_lis87859_ _lis87855_))
        (if (std/srfi/116#null-ilist? _lis87859_)
            (values '() '())
            (let ((_x87861_
                   (##structure-ref _lis87859_ '1 std/srfi/116#<ilist> '#f)))
              (if (_pred87854_ _x87861_)
                  (call-with-values
                   (lambda ()
                     (_recur87857_
                      (##structure-ref
                       _lis87859_
                       '2
                       std/srfi/116#<ilist>
                       '#f)))
                   (lambda (_prefix87864_ _suffix87865_)
                     (values (##structure
                              std/srfi/116#<ilist>
                              _x87861_
                              _prefix87864_)
                             _suffix87865_)))
                  (values '() _lis87859_)))))))
  (define std/srfi/116#ibreak
    (lambda (_pred87849_ _lis87850_)
      (std/srfi/116#ispan
       (lambda (_x87852_) (not (_pred87849_ _x87852_)))
       _lis87850_)))
  (define std/srfi/116#ievery
    (lambda (_pred87821_ _lis187822_ . _lists87823_)
      (std/srfi/116#check-arg procedure? _pred87821_ std/srfi/116#ievery)
      (if (pair? _lists87823_)
          (call-with-values
           (lambda ()
             (std/srfi/116#%cars+cdrs
              (##structure std/srfi/116#<ilist> _lis187822_ _lists87823_)))
           (lambda (_heads87826_ _tails87827_)
             (let ((_$e87829_
                    (not (##structure-instance-of?
                          _heads87826_
                          'std/srfi/116#<ilist>))))
               (if _$e87829_
                   _$e87829_
                   (let _lp87832_ ((_heads87834_ _heads87826_)
                                   (_tails87835_ _tails87827_))
                     (call-with-values
                      (lambda () (std/srfi/116#%cars+cdrs _tails87835_))
                      (lambda (_next-heads87838_ _next-tails87839_)
                        (if (##structure-instance-of?
                             _next-heads87838_
                             'std/srfi/116#<ilist>)
                            (if (apply _pred87821_ _heads87834_)
                                (_lp87832_ _next-heads87838_ _next-tails87839_)
                                '#f)
                            (apply _pred87821_ _heads87834_)))))))))
          (let ((_$e87841_ (std/srfi/116#null-ilist? _lis187822_)))
            (if _$e87841_
                _$e87841_
                (let _lp87844_ ((_head87846_
                                 (##structure-ref
                                  _lis187822_
                                  '1
                                  std/srfi/116#<ilist>
                                  '#f))
                                (_tail87847_
                                 (##structure-ref
                                  _lis187822_
                                  '2
                                  std/srfi/116#<ilist>
                                  '#f)))
                  (if (std/srfi/116#null-ilist? _tail87847_)
                      (_pred87821_ _head87846_)
                      (if (_pred87821_ _head87846_)
                          (_lp87844_
                           (##structure-ref
                            _tail87847_
                            '1
                            std/srfi/116#<ilist>
                            '#f)
                           (##structure-ref
                            _tail87847_
                            '2
                            std/srfi/116#<ilist>
                            '#f))
                          '#f))))))))
  (define std/srfi/116#iany
    (lambda (_pred87793_ _ilis187794_ . _ilists87795_)
      (std/srfi/116#check-arg procedure? _pred87793_ std/srfi/116#iany)
      (if (pair? _ilists87795_)
          (call-with-values
           (lambda ()
             (std/srfi/116#%cars+cdrs (cons _ilis187794_ _ilists87795_)))
           (lambda (_heads87798_ _tails87799_)
             (if (pair? _heads87798_)
                 (let _lp87801_ ((_heads87803_ _heads87798_)
                                 (_tails87804_ _tails87799_))
                   (call-with-values
                    (lambda () (std/srfi/116#%cars+cdrs _tails87804_))
                    (lambda (_next-heads87807_ _next-tails87808_)
                      (if (pair? _next-heads87807_)
                          (let ((_$e87810_ (apply _pred87793_ _heads87803_)))
                            (if _$e87810_
                                _$e87810_
                                (_lp87801_
                                 _next-heads87807_
                                 _next-tails87808_)))
                          (apply _pred87793_ _heads87803_)))))
                 '#f)))
          (if (not (std/srfi/116#null-ilist? _ilis187794_))
              (let _lp87813_ ((_head87815_
                               (##structure-ref
                                _ilis187794_
                                '1
                                std/srfi/116#<ilist>
                                '#f))
                              (_tail87816_
                               (##structure-ref
                                _ilis187794_
                                '2
                                std/srfi/116#<ilist>
                                '#f)))
                (if (std/srfi/116#null-ilist? _tail87816_)
                    (_pred87793_ _head87815_)
                    (let ((_$e87818_ (_pred87793_ _head87815_)))
                      (if _$e87818_
                          _$e87818_
                          (_lp87813_
                           (##structure-ref
                            _tail87816_
                            '1
                            std/srfi/116#<ilist>
                            '#f)
                           (##structure-ref
                            _tail87816_
                            '2
                            std/srfi/116#<ilist>
                            '#f))))))
              '#f))))
  (define std/srfi/116#ilist-index
    (lambda (_pred87775_ _lis187776_ . _lists87777_)
      (std/srfi/116#check-arg procedure? _pred87775_ std/srfi/116#ilist-index)
      (if (pair? _lists87777_)
          (let _lp87779_ ((_lists87781_ (cons _lis187776_ _lists87777_))
                          (_n87782_ '0))
            (call-with-values
             (lambda () (std/srfi/116#%cars+cdrs _lists87781_))
             (lambda (_heads87785_ _tails87786_)
               (if (pair? _heads87785_)
                   (if (apply _pred87775_ _heads87785_)
                       _n87782_
                       (_lp87779_ _tails87786_ (+ _n87782_ '1)))
                   '#f))))
          (let _lp87788_ ((_lis87790_ _lis187776_) (_n87791_ '0))
            (if (not (std/srfi/116#null-ilist? _lis87790_))
                (if (_pred87775_
                     (##structure-ref _lis87790_ '1 std/srfi/116#<ilist> '#f))
                    _n87791_
                    (_lp87788_
                     (##structure-ref _lis87790_ '2 std/srfi/116#<ilist> '#f)
                     (+ _n87791_ '1)))
                '#f)))))
  (define std/srfi/116#ireverse
    (lambda (_lis87773_)
      (std/srfi/116#ifold std/srfi/116#ipair '() _lis87773_))))
