(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/misc/lru#lru-cache::t
    (make-struct-type
     'std/misc/lru#lru-cache::t
     '#f
     '5
     'lru-cache
     '((final: . #t))
     ':init!
     '(ht hd tl size cap)))
  (define std/misc/lru#lru-cache?
    (make-struct-predicate std/misc/lru#lru-cache::t))
  (define std/misc/lru#make-lru-cache
    (lambda _$args821_
      (apply make-struct-instance std/misc/lru#lru-cache::t _$args821_)))
  (define std/misc/lru#lru-cache-ht
    (make-struct-field-accessor std/misc/lru#lru-cache::t '0))
  (define std/misc/lru#lru-cache-hd
    (make-struct-field-accessor std/misc/lru#lru-cache::t '1))
  (define std/misc/lru#lru-cache-tl
    (make-struct-field-accessor std/misc/lru#lru-cache::t '2))
  (define std/misc/lru#lru-cache-size
    (make-struct-field-accessor std/misc/lru#lru-cache::t '3))
  (define std/misc/lru#lru-cache-cap
    (make-struct-field-accessor std/misc/lru#lru-cache::t '4))
  (define std/misc/lru#lru-cache-ht-set!
    (make-struct-field-mutator std/misc/lru#lru-cache::t '0))
  (define std/misc/lru#lru-cache-hd-set!
    (make-struct-field-mutator std/misc/lru#lru-cache::t '1))
  (define std/misc/lru#lru-cache-tl-set!
    (make-struct-field-mutator std/misc/lru#lru-cache::t '2))
  (define std/misc/lru#lru-cache-size-set!
    (make-struct-field-mutator std/misc/lru#lru-cache::t '3))
  (define std/misc/lru#lru-cache-cap-set!
    (make-struct-field-mutator std/misc/lru#lru-cache::t '4))
  (define std/misc/lru#&lru-cache-ht
    (make-struct-field-unchecked-accessor std/misc/lru#lru-cache::t '0))
  (define std/misc/lru#&lru-cache-hd
    (make-struct-field-unchecked-accessor std/misc/lru#lru-cache::t '1))
  (define std/misc/lru#&lru-cache-tl
    (make-struct-field-unchecked-accessor std/misc/lru#lru-cache::t '2))
  (define std/misc/lru#&lru-cache-size
    (make-struct-field-unchecked-accessor std/misc/lru#lru-cache::t '3))
  (define std/misc/lru#&lru-cache-cap
    (make-struct-field-unchecked-accessor std/misc/lru#lru-cache::t '4))
  (define std/misc/lru#&lru-cache-ht-set!
    (make-struct-field-unchecked-mutator std/misc/lru#lru-cache::t '0))
  (define std/misc/lru#&lru-cache-hd-set!
    (make-struct-field-unchecked-mutator std/misc/lru#lru-cache::t '1))
  (define std/misc/lru#&lru-cache-tl-set!
    (make-struct-field-unchecked-mutator std/misc/lru#lru-cache::t '2))
  (define std/misc/lru#&lru-cache-size-set!
    (make-struct-field-unchecked-mutator std/misc/lru#lru-cache::t '3))
  (define std/misc/lru#&lru-cache-cap-set!
    (make-struct-field-unchecked-mutator std/misc/lru#lru-cache::t '4))
  (define std/misc/lru#node::t
    (make-struct-type
     'std/misc/lru#node::t
     '#f
     '4
     'node
     '((final: . #t))
     '#f
     '(key val prev next)))
  (define std/misc/lru#node? (make-struct-predicate std/misc/lru#node::t))
  (define std/misc/lru#make-node
    (lambda _$args818_
      (apply make-struct-instance std/misc/lru#node::t _$args818_)))
  (define std/misc/lru#node-key
    (make-struct-field-accessor std/misc/lru#node::t '0))
  (define std/misc/lru#node-val
    (make-struct-field-accessor std/misc/lru#node::t '1))
  (define std/misc/lru#node-prev
    (make-struct-field-accessor std/misc/lru#node::t '2))
  (define std/misc/lru#node-next
    (make-struct-field-accessor std/misc/lru#node::t '3))
  (define std/misc/lru#node-key-set!
    (make-struct-field-mutator std/misc/lru#node::t '0))
  (define std/misc/lru#node-val-set!
    (make-struct-field-mutator std/misc/lru#node::t '1))
  (define std/misc/lru#node-prev-set!
    (make-struct-field-mutator std/misc/lru#node::t '2))
  (define std/misc/lru#node-next-set!
    (make-struct-field-mutator std/misc/lru#node::t '3))
  (define std/misc/lru#&node-key
    (make-struct-field-unchecked-accessor std/misc/lru#node::t '0))
  (define std/misc/lru#&node-val
    (make-struct-field-unchecked-accessor std/misc/lru#node::t '1))
  (define std/misc/lru#&node-prev
    (make-struct-field-unchecked-accessor std/misc/lru#node::t '2))
  (define std/misc/lru#&node-next
    (make-struct-field-unchecked-accessor std/misc/lru#node::t '3))
  (define std/misc/lru#&node-key-set!
    (make-struct-field-unchecked-mutator std/misc/lru#node::t '0))
  (define std/misc/lru#&node-val-set!
    (make-struct-field-unchecked-mutator std/misc/lru#node::t '1))
  (define std/misc/lru#&node-prev-set!
    (make-struct-field-unchecked-mutator std/misc/lru#node::t '2))
  (define std/misc/lru#&node-next-set!
    (make-struct-field-unchecked-mutator std/misc/lru#node::t '3))
  (define std/misc/lru#lru-cache:::init!
    (lambda (_self815_ _cap816_)
      (if (and (fixnum? _cap816_)
               (let () (declare (not safe)) (##fx> _cap816_ '1)))
          '#!void
          (error '"Bad argument; expected fixnum > 1" _cap816_))
      (if (let ((__tmp4421
                 (let () (declare (not safe)) (##vector-length _self815_))))
            (declare (not safe))
            (##fx< '5 __tmp4421))
          (begin
            (let ((__tmp4422 (make-table)))
              (declare (not safe))
              (##vector-set! _self815_ '1 __tmp4422))
            (let () (declare (not safe)) (##vector-set! _self815_ '2 '#f))
            (let () (declare (not safe)) (##vector-set! _self815_ '3 '#f))
            (let () (declare (not safe)) (##vector-set! _self815_ '4 '0))
            (let ()
              (declare (not safe))
              (##vector-set! _self815_ '5 _cap816_)))
          (error '"struct-instance-init!: too many arguments for struct"
                 _self815_))))
  (bind-method!
   std/misc/lru#lru-cache::t
   ':init!
   std/misc/lru#lru-cache:::init!
   '#f)
  (define std/misc/lru#lru-cache-ref__%
    (lambda (_lru650_ _key651_ _default652_)
      (let* ((_lru653659_ _lru650_)
             (_E655663_ (lambda () (error '"No clause matching" _lru653659_)))
             (_K656673_
              (lambda (_ht666_)
                (let ((_$e668_ (table-ref _ht666_ _key651_ '#f)))
                  (if _$e668_
                      ((lambda (_n671_)
                         (std/misc/lru#lru-cache-touch! _lru650_ _n671_)
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-ref
                            _n671_
                            '2
                            std/misc/lru#node::t
                            '#f)))
                       _$e668_)
                      (if (eq? _default652_ absent-obj)
                          (error '"No value associated with key"
                                 _lru650_
                                 _key651_)
                          _default652_))))))
        (if (let ()
              (declare (not safe))
              (##structure-direct-instance-of?
               _lru653659_
               'std/misc/lru#lru-cache::t))
            (let* ((_e657676_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _lru653659_ '1)))
                   (_ht679_ _e657676_))
              (_K656673_ _ht679_))
            (_E655663_)))))
  (define std/misc/lru#lru-cache-ref__0
    (lambda (_lru684_ _key685_)
      (let ((_default687_ absent-obj))
        (std/misc/lru#lru-cache-ref__% _lru684_ _key685_ _default687_))))
  (define std/misc/lru#lru-cache-ref
    (lambda _g4424_
      (let ((_g4423_ (let () (declare (not safe)) (##length _g4424_))))
        (cond ((let () (declare (not safe)) (##fx= _g4423_ 2))
               (apply std/misc/lru#lru-cache-ref__0 _g4424_))
              ((let () (declare (not safe)) (##fx= _g4423_ 3))
               (apply std/misc/lru#lru-cache-ref__% _g4424_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/misc/lru#lru-cache-ref
                _g4424_))))))
  (define std/misc/lru#lru-cache-touch!
    (lambda (_lru635_ _n636_)
      (let ((_hd638_ (let ()
                       (declare (not safe))
                       (##unchecked-structure-ref
                        _lru635_
                        '2
                        std/misc/lru#lru-cache::t
                        '#f)))
            (_tl639_ (let ()
                       (declare (not safe))
                       (##unchecked-structure-ref
                        _lru635_
                        '3
                        std/misc/lru#lru-cache::t
                        '#f))))
        (let ((_$e641_ (eq? _n636_ _hd638_)))
          (if _$e641_
              _$e641_
              (if (eq? _n636_ _tl639_)
                  (let ((_prev644_
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-ref
                            _n636_
                            '3
                            std/misc/lru#node::t
                            '#f))))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _prev644_
                       '#f
                       '4
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _lru635_
                       _prev644_
                       '3
                       std/misc/lru#lru-cache::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _n636_
                       _hd638_
                       '4
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _hd638_
                       _n636_
                       '3
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _n636_
                       '#f
                       '3
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _lru635_
                       _n636_
                       '2
                       std/misc/lru#lru-cache::t
                       '#f)))
                  (let ((_prev646_
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-ref
                            _n636_
                            '3
                            std/misc/lru#node::t
                            '#f)))
                        (_next647_
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-ref
                            _n636_
                            '4
                            std/misc/lru#node::t
                            '#f))))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _prev646_
                       _next647_
                       '4
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _next647_
                       _prev646_
                       '3
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _n636_
                       _hd638_
                       '4
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _hd638_
                       _n636_
                       '3
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _n636_
                       '#f
                       '3
                       std/misc/lru#node::t
                       '#f))
                    (let ()
                      (declare (not safe))
                      (##unchecked-structure-set!
                       _lru635_
                       _n636_
                       '2
                       std/misc/lru#lru-cache::t
                       '#f)))))))))
  (define std/misc/lru#lru-cache-get
    (lambda (_lru632_ _key633_)
      (std/misc/lru#lru-cache-ref__% _lru632_ _key633_ '#f)))
  (define std/misc/lru#lru-cache-put!
    (lambda (_lru589_ _key590_ _val591_)
      (let* ((_lru592598_ _lru589_)
             (_E594602_ (lambda () (error '"No clause matching" _lru592598_)))
             (_K595624_
              (lambda (_ht605_)
                (let ((_$e607_ (table-ref _ht605_ _key590_ '#f)))
                  (if _$e607_
                      ((lambda (_n610_)
                         (let ()
                           (declare (not safe))
                           (##unchecked-structure-set!
                            _n610_
                            _val591_
                            '2
                            std/misc/lru#node::t
                            '#f))
                         (std/misc/lru#lru-cache-touch! _lru589_ _n610_)
                         '#!void)
                       _$e607_)
                      (let ((_n612_ (let ()
                                      (declare (not safe))
                                      (##structure
                                       std/misc/lru#node::t
                                       _key590_
                                       _val591_
                                       '#f
                                       '#f)))
                            (_sz613_ (let ()
                                       (declare (not safe))
                                       (##unchecked-structure-ref
                                        _lru589_
                                        '4
                                        std/misc/lru#lru-cache::t
                                        '#f))))
                        (table-set! _ht605_ _key590_ _n612_)
                        (if (let () (declare (not safe)) (##fx= _sz613_ '0))
                            (begin
                              (let ()
                                (declare (not safe))
                                (##unchecked-structure-set!
                                 _lru589_
                                 _n612_
                                 '2
                                 std/misc/lru#lru-cache::t
                                 '#f))
                              (let ()
                                (declare (not safe))
                                (##unchecked-structure-set!
                                 _lru589_
                                 _n612_
                                 '3
                                 std/misc/lru#lru-cache::t
                                 '#f))
                              (let ()
                                (declare (not safe))
                                (##unchecked-structure-set!
                                 _lru589_
                                 '1
                                 '4
                                 std/misc/lru#lru-cache::t
                                 '#f)))
                            (if (let ((__tmp4425
                                       (let ()
                                         (declare (not safe))
                                         (##unchecked-structure-ref
                                          _lru589_
                                          '5
                                          std/misc/lru#lru-cache::t
                                          '#f))))
                                  (declare (not safe))
                                  (##fx< _sz613_ __tmp4425))
                                (let ((_hd615_ (let ()
                                                 (declare (not safe))
                                                 (##unchecked-structure-ref
                                                  _lru589_
                                                  '2
                                                  std/misc/lru#lru-cache::t
                                                  '#f))))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _hd615_
                                     _n612_
                                     '3
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _n612_
                                     _hd615_
                                     '4
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru589_
                                     _n612_
                                     '2
                                     std/misc/lru#lru-cache::t
                                     '#f))
                                  (let ((__tmp4426
                                         (let ()
                                           (declare (not safe))
                                           (##fx+ _sz613_ '1))))
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru589_
                                     __tmp4426
                                     '4
                                     std/misc/lru#lru-cache::t
                                     '#f)))
                                (let* ((_hd617_ (let ()
                                                  (declare (not safe))
                                                  (##unchecked-structure-ref
                                                   _lru589_
                                                   '2
                                                   std/misc/lru#lru-cache::t
                                                   '#f)))
                                       (_tl619_ (let ()
                                                  (declare (not safe))
                                                  (##unchecked-structure-ref
                                                   _lru589_
                                                   '3
                                                   std/misc/lru#lru-cache::t
                                                   '#f)))
                                       (_xl621_ (let ()
                                                  (declare (not safe))
                                                  (##unchecked-structure-ref
                                                   _tl619_
                                                   '3
                                                   std/misc/lru#node::t
                                                   '#f))))
                                  (table-set!
                                   _ht605_
                                   (let ()
                                     (declare (not safe))
                                     (##unchecked-structure-ref
                                      _tl619_
                                      '1
                                      std/misc/lru#node::t
                                      '#f)))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _xl621_
                                     '#f
                                     '4
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru589_
                                     _xl621_
                                     '3
                                     std/misc/lru#lru-cache::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _hd617_
                                     _n612_
                                     '3
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _n612_
                                     _hd617_
                                     '4
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru589_
                                     _n612_
                                     '2
                                     std/misc/lru#lru-cache::t
                                     '#f)))))
                        '#!void))))))
        (if (let ()
              (declare (not safe))
              (##structure-direct-instance-of?
               _lru592598_
               'std/misc/lru#lru-cache::t))
            (let* ((_e596627_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _lru592598_ '1)))
                   (_ht630_ _e596627_))
              (_K595624_ _ht630_))
            (_E594602_)))))
  (define std/misc/lru#lru-cache-remove!
    (lambda (_lru530_ _key531_)
      (let* ((_lru532541_ _lru530_)
             (_E534545_ (lambda () (error '"No clause matching" _lru532541_)))
             (_K535566_
              (lambda (_sz548_ _tl549_ _hd550_ _ht551_)
                (let ((_n552554_ (table-ref _ht551_ _key531_ '#f)))
                  (if _n552554_
                      (let ((_n557_ _n552554_))
                        (table-set! _ht551_ _key531_)
                        (let ((__tmp4427
                               (let ()
                                 (declare (not safe))
                                 (##fx- _sz548_ '1))))
                          (declare (not safe))
                          (##unchecked-structure-set!
                           _lru530_
                           __tmp4427
                           '4
                           std/misc/lru#lru-cache::t
                           '#f))
                        (if (eq? _n557_ _hd550_)
                            (if (eq? _n557_ _tl549_)
                                (begin
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru530_
                                     '#f
                                     '2
                                     std/misc/lru#lru-cache::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru530_
                                     '#f
                                     '3
                                     std/misc/lru#lru-cache::t
                                     '#f)))
                                (let ((_next559_
                                       (let ()
                                         (declare (not safe))
                                         (##unchecked-structure-ref
                                          _n557_
                                          '4
                                          std/misc/lru#node::t
                                          '#f))))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _next559_
                                     '#f
                                     '3
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru530_
                                     _next559_
                                     '2
                                     std/misc/lru#lru-cache::t
                                     '#f))))
                            (if (eq? _n557_ _tl549_)
                                (let ((_prev561_
                                       (let ()
                                         (declare (not safe))
                                         (##unchecked-structure-ref
                                          _n557_
                                          '3
                                          std/misc/lru#node::t
                                          '#f))))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _prev561_
                                     '#f
                                     '4
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _lru530_
                                     _prev561_
                                     '3
                                     std/misc/lru#lru-cache::t
                                     '#f)))
                                (let ((_prev563_
                                       (let ()
                                         (declare (not safe))
                                         (##unchecked-structure-ref
                                          _n557_
                                          '3
                                          std/misc/lru#node::t
                                          '#f)))
                                      (_next564_
                                       (let ()
                                         (declare (not safe))
                                         (##unchecked-structure-ref
                                          _n557_
                                          '4
                                          std/misc/lru#node::t
                                          '#f))))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _prev563_
                                     _next564_
                                     '4
                                     std/misc/lru#node::t
                                     '#f))
                                  (let ()
                                    (declare (not safe))
                                    (##unchecked-structure-set!
                                     _next564_
                                     _prev563_
                                     '3
                                     std/misc/lru#node::t
                                     '#f)))))
                        '#!void)
                      '#f)))))
        (if (let ()
              (declare (not safe))
              (##structure-direct-instance-of?
               _lru532541_
               'std/misc/lru#lru-cache::t))
            (let* ((_e536569_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _lru532541_ '1)))
                   (_ht572_ _e536569_)
                   (_e537574_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _lru532541_ '2)))
                   (_hd577_ _e537574_)
                   (_e538579_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _lru532541_ '3)))
                   (_tl582_ _e538579_)
                   (_e539584_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _lru532541_ '4)))
                   (_sz587_ _e539584_))
              (_K535566_ _sz587_ _tl582_ _hd577_ _ht572_))
            (_E534545_)))))
  (define std/misc/lru#lru-cache-flush!
    (lambda (_lru528_)
      (if (let ((__tmp4428
                 (##direct-structure-ref
                  _lru528_
                  '4
                  std/misc/lru#lru-cache::t
                  '#f)))
            (declare (not safe))
            (##fx> __tmp4428 '0))
          (if (let ((__tmp4429
                     (let () (declare (not safe)) (##vector-length _lru528_))))
                (declare (not safe))
                (##fx< '4 __tmp4429))
              (begin
                (let ((__tmp4430 (make-table)))
                  (declare (not safe))
                  (##vector-set! _lru528_ '1 __tmp4430))
                (let () (declare (not safe)) (##vector-set! _lru528_ '2 '#f))
                (let () (declare (not safe)) (##vector-set! _lru528_ '3 '#f))
                (let () (declare (not safe)) (##vector-set! _lru528_ '4 '0)))
              (error '"struct-instance-init!: too many arguments for struct"
                     _lru528_))
          '#!void)))
  (define std/misc/lru#lru-cache-for-each
    (lambda (_proc521_ _lru522_)
      (let _lp524_ ((_n526_ (##direct-structure-ref
                             _lru522_
                             '2
                             std/misc/lru#lru-cache::t
                             '#f)))
        (if _n526_
            (begin
              (_proc521_
               (let ()
                 (declare (not safe))
                 (##unchecked-structure-ref
                  _n526_
                  '1
                  std/misc/lru#node::t
                  '#f))
               (let ()
                 (declare (not safe))
                 (##unchecked-structure-ref
                  _n526_
                  '2
                  std/misc/lru#node::t
                  '#f)))
              (_lp524_ (let ()
                         (declare (not safe))
                         (##unchecked-structure-ref
                          _n526_
                          '4
                          std/misc/lru#node::t
                          '#f))))
            '#!void))))
  (define std/misc/lru#lru-cache-walk
    (lambda (_lru518_ _proc519_)
      (std/misc/lru#lru-cache-for-each _proc519_ _lru518_)))
  (define std/misc/lru#lru-cache-fold
    (lambda (_proc509_ _iv510_ _lru511_)
      (let _lp513_ ((_n515_ (##direct-structure-ref
                             _lru511_
                             '2
                             std/misc/lru#lru-cache::t
                             '#f))
                    (_r516_ _iv510_))
        (if _n515_
            (_lp513_ (let ()
                       (declare (not safe))
                       (##unchecked-structure-ref
                        _n515_
                        '4
                        std/misc/lru#node::t
                        '#f))
                     (_proc509_
                      (let ()
                        (declare (not safe))
                        (##unchecked-structure-ref
                         _n515_
                         '1
                         std/misc/lru#node::t
                         '#f))
                      (let ()
                        (declare (not safe))
                        (##unchecked-structure-ref
                         _n515_
                         '2
                         std/misc/lru#node::t
                         '#f))
                      _r516_))
            _r516_))))
  (define std/misc/lru#lru-cache-foldr
    (lambda (_proc500_ _iv501_ _lru502_)
      (let _lp504_ ((_n506_ (##direct-structure-ref
                             _lru502_
                             '3
                             std/misc/lru#lru-cache::t
                             '#f))
                    (_r507_ _iv501_))
        (if _n506_
            (_lp504_ (let ()
                       (declare (not safe))
                       (##unchecked-structure-ref
                        _n506_
                        '3
                        std/misc/lru#node::t
                        '#f))
                     (_proc500_
                      (let ()
                        (declare (not safe))
                        (##unchecked-structure-ref
                         _n506_
                         '1
                         std/misc/lru#node::t
                         '#f))
                      (let ()
                        (declare (not safe))
                        (##unchecked-structure-ref
                         _n506_
                         '2
                         std/misc/lru#node::t
                         '#f))
                      _r507_))
            _r507_))))
  (define std/misc/lru#lru-cache->list
    (lambda (_lru494_)
      (std/misc/lru#lru-cache-foldr
       (lambda (_k496_ _v497_ _r498_) (cons (cons _k496_ _v497_) _r498_))
       '()
       _lru494_)))
  (define std/misc/lru#:iter::lru-cache
    (lambda (_lru492_) (std/misc/lru#in-lru-cache _lru492_)))
  (std/generic/dispatch#generic-bind!
   std/iter#:iter::t
   (cons (std/generic/dispatch#type-linearize-class std/misc/lru#lru-cache::t)
         '())
   std/misc/lru#:iter::lru-cache)
  (define std/misc/lru#in-lru-cache
    (lambda (_lru420_)
      (letrec ((_iterate422_
                (lambda ()
                  (std/misc/lru#lru-cache-for-each
                   std/coroutine#yield
                   _lru420_))))
        (std/iter#in-coroutine _iterate422_))))
  (define std/misc/lru#in-lru-cache-keys
    (lambda (_lru412_)
      (letrec ((_iterate414_
                (lambda ()
                  (std/misc/lru#lru-cache-for-each
                   (lambda (_k417_ _v418_) (std/coroutine#yield _k417_))
                   _lru412_))))
        (std/iter#in-coroutine _iterate414_))))
  (define std/misc/lru#in-lru-cache-values
    (lambda (_lru404_)
      (letrec ((_iterate406_
                (lambda ()
                  (std/misc/lru#lru-cache-for-each
                   (lambda (_k409_ _v410_) (std/coroutine#yield _v410_))
                   _lru404_))))
        (std/iter#in-coroutine _iterate406_)))))
