(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/srfi/146#make-tree
    (lambda (_cmp1785_)
      (let ((__obj5428 (make-object std/misc/rbtree#rbtree::t '2)))
        (std/misc/rbtree#rbtree:::init!__0
         __obj5428
         (lambda (_a1787_ _b1788_)
           (let ((_c1790_ _cmp1785_) (_o11792_ _a1787_) (_o21794_ _b1788_))
             (if ((std/srfi/128#comparator-ordering-predicate _c1790_)
                  _o11792_
                  _o21794_)
                 '-1
                 (if ((##direct-structure-ref
                       _c1790_
                       '2
                       std/srfi/128#comparator::t
                       '#f)
                      _o11792_
                      _o21794_)
                     '0
                     '1)))))
        __obj5428)))
  (define std/srfi/146#tree-generator
    (lambda (_rbtree1778_)
      (letrec* ((_it1780_ (std/misc/rbtree#in-rbtree _rbtree1778_)))
        (lambda ()
          (let ((_next1783_ (std/iter#iter-next! _it1780_)))
            (if (eq? _next1783_ std/iter#iter-end)
                (begin (std/iter#iter-fini! _it1780_) '#!eof)
                _next1783_))))))
  (define std/srfi/146#tree-map
    (lambda (_proc1771_ _rbtree1772_)
      (std/misc/rbtree#rbtree-fold
       (lambda (_k1774_ _v1775_ _r1776_)
         (std/misc/rbtree#rbtree-put _r1776_ _k1774_ _v1775_))
       (let ((__obj5429 (make-object std/misc/rbtree#rbtree::t '2)))
         (std/misc/rbtree#rbtree:::init!__0
          __obj5429
          (##direct-structure-ref
           _rbtree1772_
           '2
           std/misc/rbtree#rbtree::t
           '#f))
         __obj5429)
       _rbtree1772_)))
  (define std/srfi/146#tree-fold
    (lambda (_proc1767_ _iv1768_ _rbtree1769_)
      (std/misc/rbtree#rbtree-fold _proc1767_ _iv1768_ _rbtree1769_)))
  (define std/srfi/146#tree-fold/reverse
    (lambda (_proc1763_ _iv1764_ _rbtree1765_)
      (std/misc/rbtree#rbtree-foldr _proc1763_ _iv1764_ _rbtree1765_)))
  (define std/srfi/146#tree-for-each
    (lambda (_proc1760_ _rbtree1761_)
      (std/misc/rbtree#rbtree-for-each _proc1760_ _rbtree1761_)))
  (define std/srfi/146#tree-search
    (lambda (_cmp1729_ _rbtree1730_ _key1731_ _failure1732_ _success1733_)
      ((call-with-current-continuation
        (lambda (_K1735_)
          (std/misc/rbtree#rbtree-for-each
           (lambda (_k1737_ _v1738_)
             (let ((_c1740_ _cmp1729_) (_o11742_ _k1737_) (_o21744_ _key1731_))
               (if ((std/srfi/128#comparator-ordering-predicate _c1740_)
                    _o11742_
                    _o21744_)
                   '#!void
                   (if ((##direct-structure-ref
                         _c1740_
                         '2
                         std/srfi/128#comparator::t
                         '#f)
                        _o11742_
                        _o21744_)
                       (_K1735_ (lambda ()
                                  (_success1733_
                                   _k1737_
                                   _v1738_
                                   (lambda (_new-key1748_
                                            _new-value1749_
                                            _obj1750_)
                                     (values (std/misc/rbtree#rbtree-put
                                              (std/misc/rbtree#rbtree-remove
                                               _rbtree1730_
                                               _k1737_)
                                              _new-key1748_
                                              _new-value1749_)
                                             _obj1750_))
                                   (lambda (_obj1752_)
                                     (values (std/misc/rbtree#rbtree-remove
                                              _rbtree1730_
                                              _k1737_)
                                             _obj1752_)))))
                       (_K1735_ (lambda ()
                                  (_failure1732_
                                   _k1737_
                                   _v1738_
                                   (lambda (_value1755_ _obj1756_)
                                     (values (std/misc/rbtree#rbtree-put
                                              _rbtree1730_
                                              _key1731_
                                              _value1755_)
                                             _obj1756_))
                                   (lambda (_obj1758_)
                                     (values _rbtree1730_ _obj1758_)))))))))
           _rbtree1730_))))))
  (define std/srfi/146#tree-catenate
    (lambda (_rbtree11720_ _pivot-key1721_ _pivot-value1722_ _rbtree21723_)
      (std/misc/rbtree#rbtree-fold
       (lambda (_k1725_ _v1726_ _r1727_)
         (std/misc/rbtree#rbtree-put _r1727_ _k1725_ _v1726_))
       (std/misc/rbtree#rbtree-put
        _rbtree11720_
        _pivot-key1721_
        _pivot-value1722_)
       _rbtree21723_)))
  (define std/srfi/146#tree-split
    (lambda (_cmp1700_ _rbtree1701_ _obj1702_)
      (letrec* ((_tree<1704_ (std/srfi/146#make-tree _cmp1700_))
                (_tree<=1705_ (std/srfi/146#make-tree _cmp1700_))
                (_tree=1706_ (std/srfi/146#make-tree _cmp1700_))
                (_tree>=1707_ (std/srfi/146#make-tree _cmp1700_))
                (_tree>1708_ (std/srfi/146#make-tree _cmp1700_)))
        (std/misc/rbtree#rbtree-for-each
         (lambda (_k1710_ _v1711_)
           (let ((_c1713_ _cmp1700_) (_o11715_ _k1710_) (_o21717_ _obj1702_))
             (if ((std/srfi/128#comparator-ordering-predicate _c1713_)
                  _o11715_
                  _o21717_)
                 (begin
                   (std/misc/rbtree#rbtree-put! _tree<1704_ _k1710_ _v1711_)
                   (std/misc/rbtree#rbtree-put! _tree<=1705_ _k1710_ _v1711_))
                 (if ((##direct-structure-ref
                       _c1713_
                       '2
                       std/srfi/128#comparator::t
                       '#f)
                      _o11715_
                      _o21717_)
                     (begin
                       (std/misc/rbtree#rbtree-put!
                        _tree<=1705_
                        _k1710_
                        _v1711_)
                       (std/misc/rbtree#rbtree-put!
                        _tree=1706_
                        _k1710_
                        _v1711_)
                       (std/misc/rbtree#rbtree-put!
                        _tree>=1707_
                        _k1710_
                        _v1711_))
                     (begin
                       (std/misc/rbtree#rbtree-put!
                        _tree>=1707_
                        _k1710_
                        _v1711_)
                       (std/misc/rbtree#rbtree-put!
                        _tree>1708_
                        _k1710_
                        _v1711_))))))
         _rbtree1701_)
        (values _tree<1704_
                _tree<=1705_
                _tree=1706_
                _tree>=1707_
                _tree>1708_))))
  (define std/srfi/146#tree-key-predecessor
    (lambda (_cmp1680_ _rbtree1681_ _obj1682_ _failure1683_)
      ((call-with-current-continuation
        (lambda (_K1685_)
          (letrec* ((_prev1687_ '#f))
            (std/misc/rbtree#rbtree-for-each
             (lambda (_k1689_ _v1690_)
               (let ((_c1692_ _cmp1680_)
                     (_o11694_ _k1689_)
                     (_o21696_ _obj1682_))
                 (if ((std/srfi/128#comparator-ordering-predicate _c1692_)
                      _o11694_
                      _o21696_)
                     (set! _prev1687_ _k1689_)
                     (if ((##direct-structure-ref
                           _c1692_
                           '2
                           std/srfi/128#comparator::t
                           '#f)
                          _o11694_
                          _o21696_)
                         (_K1685_ (if _prev1687_
                                      (lambda () _prev1687_)
                                      _failure1683_))
                         _failure1683_))))
             _rbtree1681_)
            _failure1683_))))))
  (define std/srfi/146#tree-key-successor
    (lambda (_cmp1660_ _rbtree1661_ _obj1662_ _failure1663_)
      ((call-with-current-continuation
        (lambda (_K1665_)
          (letrec* ((_suc1667_ '#f))
            (std/misc/rbtree#rbtree-for-each
             (lambda (_k1669_ _v1670_)
               (let ((_c1672_ _cmp1660_)
                     (_o11674_ _k1669_)
                     (_o21676_ _obj1662_))
                 (if ((std/srfi/128#comparator-ordering-predicate _c1672_)
                      _o11674_
                      _o21676_)
                     _failure1663_
                     (if ((##direct-structure-ref
                           _c1672_
                           '2
                           std/srfi/128#comparator::t
                           '#f)
                          _o11674_
                          _o21676_)
                         (_K1665_ (if _suc1667_
                                      (lambda () _suc1667_)
                                      _failure1663_))
                         (set! _suc1667_ _k1669_)))))
             _rbtree1661_)
            _failure1663_))))))
  (define std/srfi/146#<mapping>
    (make-struct-type
     'std/srfi/146#<mapping>
     '#f
     '2
     '<mapping>
     '((fields: comparator tree))
     '#f))
  (define std/srfi/146#mapping? (make-struct-predicate std/srfi/146#<mapping>))
  (define std/srfi/146#mapping-key-comparator
    (make-struct-field-accessor std/srfi/146#<mapping> '0))
  (define std/srfi/146#mapping-tree
    (make-struct-field-accessor std/srfi/146#<mapping> '1))
  (define std/srfi/146#%make-mapping
    (lambda (_comparator1657_ _tree1658_)
      (make-struct-instance
       std/srfi/146#<mapping>
       _comparator1657_
       _tree1658_)))
  (define std/srfi/146#make-empty-mapping
    (lambda (_comparator1652_)
      (let ((_val1654_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator1652_
                'std/srfi/128#comparator::t))))
        (if _val1654_ _val1654_ (error)))
      (let ((__tmp5430 (std/srfi/146#make-tree _comparator1652_)))
        (declare (not safe))
        (##structure std/srfi/146#<mapping> _comparator1652_ __tmp5430))))
  (define std/srfi/146#mapping
    (lambda (_comparator1592_ . _args1593_)
      (let ((_val1595_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator1592_
                'std/srfi/128#comparator::t))))
        (if _val1595_ _val1595_ (error)))
      (let ((_rbtree1598_ (std/srfi/146#make-tree _comparator1592_)))
        (let _lp1600_ ((_rest1602_ _args1593_))
          (let* ((_rest16031614_ _rest1602_)
                 (_E16061618_
                  (lambda () (error '"No clause matching" _rest16031614_))))
            (let ((_K16081633_
                   (lambda (_rest1629_ _v1630_ _k1631_)
                     (std/misc/rbtree#rbtree-put! _rbtree1598_ _k1631_ _v1630_)
                     (_lp1600_ _rest1629_)))
                  (_K16071623_
                   (lambda ()
                     (let ()
                       (declare (not safe))
                       (##structure
                        std/srfi/146#<mapping>
                        _comparator1592_
                        _rbtree1598_)))))
              (let ((_try-match16051626_
                     (lambda ()
                       (if (let ()
                             (declare (not safe))
                             (##null? _rest16031614_))
                           (_K16071623_)
                           (_E16061618_)))))
                (if (let () (declare (not safe)) (##pair? _rest16031614_))
                    (let ((_tl16101638_
                           (let ()
                             (declare (not safe))
                             (##cdr _rest16031614_)))
                          (_hd16091636_
                           (let ()
                             (declare (not safe))
                             (##car _rest16031614_))))
                      (if (let () (declare (not safe)) (##pair? _tl16101638_))
                          (let ((_tl16121645_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _tl16101638_)))
                                (_hd16111643_
                                 (let ()
                                   (declare (not safe))
                                   (##car _tl16101638_))))
                            (let ((_k1641_ _hd16091636_)
                                  (_v1648_ _hd16111643_)
                                  (_rest1650_ _tl16121645_))
                              (_K16081633_ _rest1650_ _v1648_ _k1641_)))
                          (_E16061618_)))
                    (_try-match16051626_)))))))))
  (define std/srfi/146#mapping-unfold
    (lambda (_stop?1566_
             _mapper1567_
             _successor1568_
             _seed1569_
             _comparator1570_)
      (let ((_val1572_ (procedure? _stop?1566_)))
        (if _val1572_ _val1572_ (error)))
      (let ((_val1575_ (procedure? _mapper1567_)))
        (if _val1575_ _val1575_ (error)))
      (let ((_val1578_ (procedure? _successor1568_)))
        (if _val1578_ _val1578_ (error)))
      (let ((_val1581_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator1570_
                'std/srfi/128#comparator::t))))
        (if _val1581_ _val1581_ (error)))
      (let _loop1584_ ((_mapping1586_
                        (std/srfi/146#make-empty-mapping _comparator1570_))
                       (_seed1587_ _seed1569_))
        (if (_stop?1566_ _seed1587_)
            _mapping1586_
            (let ((_g5431_ (_mapper1567_ _seed1587_)))
              (begin
                (let ((_g5432_ (let ()
                                 (declare (not safe))
                                 (if (##values? _g5431_)
                                     (##vector-length _g5431_)
                                     1))))
                  (if (not (let () (declare (not safe)) (##fx= _g5432_ 2)))
                      (error "Context expects 2 values" _g5432_)))
                (let ((_key1589_
                       (let () (declare (not safe)) (##vector-ref _g5431_ 0)))
                      (_value1590_
                       (let () (declare (not safe)) (##vector-ref _g5431_ 1))))
                  (_loop1584_
                   (std/srfi/146#mapping-adjoin
                    _mapping1586_
                    _key1589_
                    _value1590_)
                   (_successor1568_ _seed1587_)))))))))
  (define std/srfi/146#mapping/ordered std/srfi/146#mapping)
  (define std/srfi/146#mapping-unfold/ordered std/srfi/146#mapping-unfold)
  (define std/srfi/146#mapping-empty?
    (lambda (_mapping1558_)
      (let ((_val1560_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1558_
                'std/srfi/146#<mapping>))))
        (if _val1560_ _val1560_ (error)))
      (not (std/srfi/146#mapping-any?
            (lambda (_key1563_ _value1564_) '#t)
            _mapping1558_))))
  (define std/srfi/146#mapping-contains?
    (lambda (_mapping1550_ _key1551_)
      (let ((_val1553_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1550_
                'std/srfi/146#<mapping>))))
        (if _val1553_ _val1553_ (error)))
      (let ((_val1556_
             (std/misc/rbtree#rbtree-ref__%
              (##structure-ref _mapping1550_ '2 std/srfi/146#<mapping> '#f)
              _key1551_
              absent-value)))
        (not (eq? _val1556_ absent-value)))))
  (define std/srfi/146#mapping-disjoint?
    (lambda (_mapping11536_ _mapping21537_)
      (let ((_val1539_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping11536_
                'std/srfi/146#<mapping>))))
        (if _val1539_ _val1539_ (error)))
      (let ((_val1542_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping21537_
                'std/srfi/146#<mapping>))))
        (if _val1542_ _val1542_ (error)))
      (call-with-current-continuation
       (lambda (_return1545_)
         (std/srfi/146#mapping-for-each
          (lambda (_key1547_ _value1548_)
            (if (std/srfi/146#mapping-contains? _mapping21537_ _key1547_)
                (_return1545_ '#f)
                '#!void))
          _mapping11536_)
         '#t))))
  (define std/srfi/146#mapping-ref__0
    (lambda (_mapping1501_ _key1502_)
      (let ((_val1504_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1501_
                'std/srfi/146#<mapping>))))
        (if _val1504_ _val1504_ (error)))
      (std/srfi/146#mapping-ref__1
       _mapping1501_
       _key1502_
       (lambda () (error '"mapping-ref: key not in mapping" _key1502_)))))
  (define std/srfi/146#mapping-ref__1
    (lambda (_mapping1508_ _key1509_ _failure1510_)
      (let ((_val1512_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1508_
                'std/srfi/146#<mapping>))))
        (if _val1512_ _val1512_ (error)))
      (let ((_val1515_ (procedure? _failure1510_)))
        (if _val1515_ _val1515_ (error)))
      (std/srfi/146#mapping-ref__2
       _mapping1508_
       _key1509_
       _failure1510_
       (lambda (_value1518_) _value1518_))))
  (define std/srfi/146#mapping-ref__2
    (lambda (_mapping1520_ _key1521_ _failure1522_ _success1523_)
      (let ((_val1525_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1520_
                'std/srfi/146#<mapping>))))
        (if _val1525_ _val1525_ (error)))
      (let ((_val1528_ (procedure? _failure1522_)))
        (if _val1528_ _val1528_ (error)))
      (let ((_val1531_ (procedure? _success1523_)))
        (if _val1531_ _val1531_ (error)))
      (let ((_val1534_
             (std/misc/rbtree#rbtree-ref__%
              (##structure-ref _mapping1520_ '2 std/srfi/146#<mapping> '#f)
              _key1521_
              absent-value)))
        (if (eq? _val1534_ absent-value)
            (_failure1522_)
            (_success1523_ _val1534_)))))
  (define std/srfi/146#mapping-ref
    (lambda _g5434_
      (let ((_g5433_ (let () (declare (not safe)) (##length _g5434_))))
        (cond ((let () (declare (not safe)) (##fx= _g5433_ 2))
               (apply std/srfi/146#mapping-ref__0 _g5434_))
              ((let () (declare (not safe)) (##fx= _g5433_ 3))
               (apply std/srfi/146#mapping-ref__1 _g5434_))
              ((let () (declare (not safe)) (##fx= _g5433_ 4))
               (apply std/srfi/146#mapping-ref__2 _g5434_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-ref
                _g5434_))))))
  (define std/srfi/146#mapping-ref/default
    (lambda (_mapping1493_ _key1494_ _default1495_)
      (let ((_val1497_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1493_
                'std/srfi/146#<mapping>))))
        (if _val1497_ _val1497_ (error)))
      (std/srfi/146#mapping-ref__1
       _mapping1493_
       _key1494_
       (lambda () _default1495_))))
  (define std/srfi/146#mapping-adjoin
    (lambda (_mapping1434_ . _args1435_)
      (let ((_val1437_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1434_
                'std/srfi/146#<mapping>))))
        (if _val1437_ _val1437_ (error)))
      (let _lp1440_ ((_rest1442_ _args1435_)
                     (_rbtree1443_
                      (##structure-ref
                       _mapping1434_
                       '2
                       std/srfi/146#<mapping>
                       '#f)))
        (let* ((_rest14441455_ _rest1442_)
               (_E14471459_
                (lambda () (error '"No clause matching" _rest14441455_))))
          (let ((_K14491474_
                 (lambda (_rest1470_ _v1471_ _k1472_)
                   (if (eq? absent-value
                            (std/misc/rbtree#rbtree-ref__%
                             _rbtree1443_
                             _k1472_
                             absent-value))
                       (_lp1440_
                        _rest1470_
                        (std/misc/rbtree#rbtree-put
                         _k1472_
                         _v1471_
                         _rbtree1443_))
                       (_lp1440_ _rest1470_ _rbtree1443_))))
                (_K14481464_
                 (lambda ()
                   (let ((__tmp5435
                          (std/srfi/146#mapping-comparator _mapping1434_)))
                     (declare (not safe))
                     (##structure
                      std/srfi/146#<mapping>
                      __tmp5435
                      _rbtree1443_)))))
            (let ((_try-match14461467_
                   (lambda ()
                     (if (let () (declare (not safe)) (##null? _rest14441455_))
                         (_K14481464_)
                         (_E14471459_)))))
              (if (let () (declare (not safe)) (##pair? _rest14441455_))
                  (let ((_tl14511479_
                         (let () (declare (not safe)) (##cdr _rest14441455_)))
                        (_hd14501477_
                         (let () (declare (not safe)) (##car _rest14441455_))))
                    (if (let () (declare (not safe)) (##pair? _tl14511479_))
                        (let ((_tl14531486_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _tl14511479_)))
                              (_hd14521484_
                               (let ()
                                 (declare (not safe))
                                 (##car _tl14511479_))))
                          (let ((_k1482_ _hd14501477_)
                                (_v1489_ _hd14521484_)
                                (_rest1491_ _tl14531486_))
                            (_K14491474_ _rest1491_ _v1489_ _k1482_)))
                        (_E14471459_)))
                  (_try-match14461467_))))))))
  (define std/srfi/146#mapping-adjoin! std/srfi/146#mapping-adjoin)
  (define std/srfi/146#mapping-set
    (lambda (_mapping1375_ . _args1376_)
      (let ((_val1378_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1375_
                'std/srfi/146#<mapping>))))
        (if _val1378_ _val1378_ (error)))
      (let _lp1381_ ((_rest1383_ _args1376_)
                     (_rbtree1384_
                      (##structure-ref
                       _mapping1375_
                       '2
                       std/srfi/146#<mapping>
                       '#f)))
        (let* ((_rest13851396_ _rest1383_)
               (_E13881400_
                (lambda () (error '"No clause matching" _rest13851396_))))
          (let ((_K13901415_
                 (lambda (_rest1411_ _v1412_ _k1413_)
                   (_lp1381_
                    _rest1411_
                    (std/misc/rbtree#rbtree-put
                     _rbtree1384_
                     _k1413_
                     _v1412_))))
                (_K13891405_
                 (lambda ()
                   (let ((__tmp5436
                          (std/srfi/146#mapping-comparator _mapping1375_)))
                     (declare (not safe))
                     (##structure
                      std/srfi/146#<mapping>
                      __tmp5436
                      _rbtree1384_)))))
            (let ((_try-match13871408_
                   (lambda ()
                     (if (let () (declare (not safe)) (##null? _rest13851396_))
                         (_K13891405_)
                         (_E13881400_)))))
              (if (let () (declare (not safe)) (##pair? _rest13851396_))
                  (let ((_tl13921420_
                         (let () (declare (not safe)) (##cdr _rest13851396_)))
                        (_hd13911418_
                         (let () (declare (not safe)) (##car _rest13851396_))))
                    (if (let () (declare (not safe)) (##pair? _tl13921420_))
                        (let ((_tl13941427_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _tl13921420_)))
                              (_hd13931425_
                               (let ()
                                 (declare (not safe))
                                 (##car _tl13921420_))))
                          (let ((_k1423_ _hd13911418_)
                                (_v1430_ _hd13931425_)
                                (_rest1432_ _tl13941427_))
                            (_K13901415_ _rest1432_ _v1430_ _k1423_)))
                        (_E13881400_)))
                  (_try-match13871408_))))))))
  (define std/srfi/146#mapping-set! std/srfi/146#mapping-set)
  (define std/srfi/146#mapping-replace
    (lambda (_mapping1368_ _key1369_ _value1370_)
      (let ((_val1372_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1368_
                'std/srfi/146#<mapping>))))
        (if _val1372_ _val1372_ (error)))
      (let ((__tmp5438 (std/srfi/146#mapping-comparator _mapping1368_))
            (__tmp5437
             (std/misc/rbtree#rbtree-put
              (##structure-ref _mapping1368_ '2 std/srfi/146#<mapping> '#f)
              _key1369_
              _value1370_)))
        (declare (not safe))
        (##structure std/srfi/146#<mapping> __tmp5438 __tmp5437))))
  (define std/srfi/146#mapping-replace! std/srfi/146#mapping-replace)
  (define std/srfi/146#mapping-delete
    (lambda (_mapping1362_ . _keys1363_)
      (let ((_val1365_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1362_
                'std/srfi/146#<mapping>))))
        (if _val1365_ _val1365_ (error)))
      (std/srfi/146#mapping-delete-all _mapping1362_ _keys1363_)))
  (define std/srfi/146#mapping-delete! std/srfi/146#mapping-delete)
  (define std/srfi/146#mapping-delete-all
    (lambda (_mapping1350_ _keys1351_)
      (let ((_val1353_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1350_
                'std/srfi/146#<mapping>))))
        (if _val1353_ _val1353_ (error)))
      (let ((_val1356_ (list? _keys1351_))) (if _val1356_ _val1356_ (error)))
      (let ((__tmp5440 (std/srfi/146#mapping-comparator _mapping1350_))
            (__tmp5439
             (foldl1 (lambda (_key1359_ _rbtree1360_)
                       (std/misc/rbtree#rbtree-remove _rbtree1360_ _key1359_))
                     (##structure-ref
                      _mapping1350_
                      '2
                      std/srfi/146#<mapping>
                      '#f)
                     _keys1351_)))
        (declare (not safe))
        (##structure std/srfi/146#<mapping> __tmp5440 __tmp5439))))
  (define std/srfi/146#mapping-delete-all! std/srfi/146#mapping-delete-all)
  (define std/srfi/146#mapping-intern
    (lambda (_mapping1336_ _key1337_ _failure1338_)
      (let ((_val1340_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1336_
                'std/srfi/146#<mapping>))))
        (if _val1340_ _val1340_ (error)))
      (let ((_val1343_ (procedure? _failure1338_)))
        (if _val1343_ _val1343_ (error)))
      (let ((_val1346_
             (std/misc/rbtree#rbtree-ref__%
              (##structure-ref _mapping1336_ '2 std/srfi/146#<mapping> '#f)
              _key1337_
              absent-value)))
        (if (eq? _val1346_ absent-value)
            (let ((_val1348_ (_failure1338_)))
              (values (let ((__tmp5442
                             (std/srfi/146#mapping-comparator _mapping1336_))
                            (__tmp5441
                             (std/misc/rbtree#rbtree-put
                              (##structure-ref
                               _mapping1336_
                               '2
                               std/srfi/146#<mapping>
                               '#f)
                              _key1337_
                              _val1348_)))
                        (declare (not safe))
                        (##structure
                         std/srfi/146#<mapping>
                         __tmp5442
                         __tmp5441))
                      _val1348_))
            (values _mapping1336_ _val1346_)))))
  (define std/srfi/146#mapping-intern! std/srfi/146#mapping-intern)
  (define std/srfi/146#mapping-update__0
    (lambda (_mapping1306_ _key1307_ _updater1308_)
      (std/srfi/146#mapping-update__1
       _mapping1306_
       _key1307_
       _updater1308_
       (lambda ()
         (error '"mapping-update: key not found in mapping" _key1307_)))))
  (define std/srfi/146#mapping-update__1
    (lambda (_mapping1311_ _key1312_ _updater1313_ _failure1314_)
      (std/srfi/146#mapping-update__2
       _mapping1311_
       _key1312_
       _updater1313_
       _failure1314_
       (lambda (_value1316_) _value1316_))))
  (define std/srfi/146#mapping-update__2
    (lambda (_mapping1318_ _key1319_ _updater1320_ _failure1321_ _success1322_)
      (let ((_val1324_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1318_
                'std/srfi/146#<mapping>))))
        (if _val1324_ _val1324_ (error)))
      (let ((_val1327_ (procedure? _updater1320_)))
        (if _val1327_ _val1327_ (error)))
      (let ((_val1330_ (procedure? _failure1321_)))
        (if _val1330_ _val1330_ (error)))
      (let ((_val1333_ (procedure? _success1322_)))
        (if _val1333_ _val1333_ (error)))
      (std/srfi/146#mapping-set
       _mapping1318_
       _key1319_
       (_updater1320_
        (std/srfi/146#mapping-ref__2
         _mapping1318_
         _key1319_
         _failure1321_
         _success1322_)))))
  (define std/srfi/146#mapping-update
    (lambda _g5444_
      (let ((_g5443_ (let () (declare (not safe)) (##length _g5444_))))
        (cond ((let () (declare (not safe)) (##fx= _g5443_ 3))
               (apply std/srfi/146#mapping-update__0 _g5444_))
              ((let () (declare (not safe)) (##fx= _g5443_ 4))
               (apply std/srfi/146#mapping-update__1 _g5444_))
              ((let () (declare (not safe)) (##fx= _g5443_ 5))
               (apply std/srfi/146#mapping-update__2 _g5444_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-update
                _g5444_))))))
  (define std/srfi/146#mapping-update! std/srfi/146#mapping-update)
  (define std/srfi/146#mapping-update/default
    (lambda (_mapping1300_ _key1301_ _updater1302_ _default1303_)
      (std/srfi/146#mapping-update__1
       _mapping1300_
       _key1301_
       _updater1302_
       (lambda () _default1303_))))
  (define std/srfi/146#mapping-update!/default
    std/srfi/146#mapping-update/default)
  (define std/srfi/146#mapping-pop__0
    (lambda (_mapping1282_)
      (std/srfi/146#mapping-pop__1
       _mapping1282_
       (lambda () (error '"mapping-pop: mapping has no association")))))
  (define std/srfi/146#mapping-pop__1
    (lambda (_mapping1285_ _failure1286_)
      (let ((_val1288_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1285_
                'std/srfi/146#<mapping>))))
        (if _val1288_ _val1288_ (error)))
      (let ((_val1291_ (procedure? _failure1286_)))
        (if _val1291_ _val1291_ (error)))
      ((call-with-current-continuation
        (lambda (_K1294_)
          (std/misc/rbtree#rbtree-for-each
           (##structure-ref _mapping1285_ '2 std/srfi/146#<mapping> '#f)
           (lambda (_k1296_ _v1297_)
             (_K1294_ (lambda ()
                        (values (let ((__tmp5446
                                       (std/srfi/146#mapping-comparator
                                        _mapping1285_))
                                      (__tmp5445
                                       (std/misc/rbtree#rbtree-remove
                                        (##structure-ref
                                         _mapping1285_
                                         '2
                                         std/srfi/146#<mapping>
                                         '#f)
                                        _k1296_)))
                                  (declare (not safe))
                                  (##structure
                                   std/srfi/146#<mapping>
                                   __tmp5446
                                   __tmp5445))
                                _k1296_
                                _v1297_)))))
          _failure1286_)))))
  (define std/srfi/146#mapping-pop
    (lambda _g5448_
      (let ((_g5447_ (let () (declare (not safe)) (##length _g5448_))))
        (cond ((let () (declare (not safe)) (##fx= _g5447_ 1))
               (apply std/srfi/146#mapping-pop__0 _g5448_))
              ((let () (declare (not safe)) (##fx= _g5447_ 2))
               (apply std/srfi/146#mapping-pop__1 _g5448_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-pop
                _g5448_))))))
  (define std/srfi/146#mapping-pop! std/srfi/146#mapping-pop)
  (define std/srfi/146#mapping-search
    (lambda (_mapping1252_ _key1253_ _failure1254_ _success1255_)
      (let ((_val1257_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1252_
                'std/srfi/146#<mapping>))))
        (if _val1257_ _val1257_ (error)))
      (let ((_val1260_ (procedure? _failure1254_)))
        (if _val1260_ _val1260_ (error)))
      (let ((_val1263_ (procedure? _success1255_)))
        (if _val1263_ _val1263_ (error)))
      (call-with-current-continuation
       (lambda (_return1266_)
         (let* ((_comparator1268_
                 (##structure-ref _mapping1252_ '1 std/srfi/146#<mapping> '#f))
                (_g5449_ (std/srfi/146#tree-search
                          _comparator1268_
                          (##structure-ref
                           _mapping1252_
                           '2
                           std/srfi/146#<mapping>
                           '#f)
                          _key1253_
                          (lambda (_insert1270_ _ignore1271_)
                            (_failure1254_
                             (lambda (_value1273_ _obj1274_)
                               (_insert1270_ _key1253_ _value1273_ _obj1274_))
                             (lambda (_obj1276_)
                               (_return1266_ _mapping1252_ _obj1276_))))
                          _success1255_)))
           (begin
             (let ((_g5450_ (let ()
                              (declare (not safe))
                              (if (##values? _g5449_)
                                  (##vector-length _g5449_)
                                  1))))
               (if (not (let () (declare (not safe)) (##fx= _g5450_ 2)))
                   (error "Context expects 2 values" _g5450_)))
             (let ((_tree1278_
                    (let () (declare (not safe)) (##vector-ref _g5449_ 0)))
                   (_obj1279_
                    (let () (declare (not safe)) (##vector-ref _g5449_ 1))))
               (let ()
                 (values (let ()
                           (declare (not safe))
                           (##structure
                            std/srfi/146#<mapping>
                            _comparator1268_
                            _tree1278_))
                         _obj1279_)))))))))
  (define std/srfi/146#mapping-search! std/srfi/146#mapping-search)
  (define std/srfi/146#mapping-size
    (lambda (_mapping1244_)
      (let ((_val1246_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1244_
                'std/srfi/146#<mapping>))))
        (if _val1246_ _val1246_ (error)))
      (std/srfi/146#mapping-count
       (lambda (_key1249_ _value1250_) '#t)
       _mapping1244_)))
  (define std/srfi/146#mapping-find
    (lambda (_predicate1226_ _mapping1227_ _failure1228_)
      (let ((_val1230_ (procedure? _predicate1226_)))
        (if _val1230_ _val1230_ (error)))
      (let ((_val1233_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1227_
                'std/srfi/146#<mapping>))))
        (if _val1233_ _val1233_ (error)))
      (let ((_val1236_ (procedure? _failure1228_)))
        (if _val1236_ _val1236_ (error)))
      (call-with-current-continuation
       (lambda (_return1239_)
         (std/srfi/146#mapping-for-each
          (lambda (_key1241_ _value1242_)
            (if (_predicate1226_ _key1241_ _value1242_)
                (_return1239_ _key1241_ _value1242_)
                '#!void))
          _mapping1227_)
         (_failure1228_)))))
  (define std/srfi/146#mapping-count
    (lambda (_predicate1213_ _mapping1214_)
      (let ((_val1216_ (procedure? _predicate1213_)))
        (if _val1216_ _val1216_ (error)))
      (let ((_val1219_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1214_
                'std/srfi/146#<mapping>))))
        (if _val1219_ _val1219_ (error)))
      (std/srfi/146#mapping-fold
       (lambda (_key1222_ _value1223_ _count1224_)
         (if (_predicate1213_ _key1222_ _value1223_)
             (+ '1 _count1224_)
             _count1224_))
       '0
       _mapping1214_)))
  (define std/srfi/146#mapping-any?
    (lambda (_predicate1199_ _mapping1200_)
      (let ((_val1202_ (procedure? _predicate1199_)))
        (if _val1202_ _val1202_ (error)))
      (let ((_val1205_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1200_
                'std/srfi/146#<mapping>))))
        (if _val1205_ _val1205_ (error)))
      (call-with-current-continuation
       (lambda (_return1208_)
         (std/srfi/146#mapping-for-each
          (lambda (_key1210_ _value1211_)
            (if (_predicate1199_ _key1210_ _value1211_)
                (_return1208_ '#t)
                '#!void))
          _mapping1200_)
         '#f))))
  (define std/srfi/146#mapping-every?
    (lambda (_predicate1187_ _mapping1188_)
      (let ((_val1190_ (procedure? _predicate1187_)))
        (if _val1190_ _val1190_ (error)))
      (let ((_val1193_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1188_
                'std/srfi/146#<mapping>))))
        (if _val1193_ _val1193_ (error)))
      (not (std/srfi/146#mapping-any?
            (lambda (_key1196_ _value1197_)
              (not (_predicate1187_ _key1196_ _value1197_)))
            _mapping1188_))))
  (define std/srfi/146#mapping-keys
    (lambda (_mapping1178_)
      (let ((_val1180_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1178_
                'std/srfi/146#<mapping>))))
        (if _val1180_ _val1180_ (error)))
      (std/srfi/146#mapping-fold/reverse
       (lambda (_key1183_ _value1184_ _keys1185_) (cons _key1183_ _keys1185_))
       '()
       _mapping1178_)))
  (define std/srfi/146#mapping-values
    (lambda (_mapping1169_)
      (let ((_val1171_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1169_
                'std/srfi/146#<mapping>))))
        (if _val1171_ _val1171_ (error)))
      (std/srfi/146#mapping-fold/reverse
       (lambda (_key1174_ _value1175_ _values1176_)
         (cons _value1175_ _values1176_))
       '()
       _mapping1169_)))
  (define std/srfi/146#mapping-entries
    (lambda (_mapping1164_)
      (let ((_val1166_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1164_
                'std/srfi/146#<mapping>))))
        (if _val1166_ _val1166_ (error)))
      (values (std/srfi/146#mapping-keys _mapping1164_)
              (std/srfi/146#mapping-values _mapping1164_))))
  (define std/srfi/146#mapping-map
    (lambda (_proc1144_ _comparator1145_ _mapping1146_)
      (let ((_val1148_ (procedure? _proc1144_)))
        (if _val1148_ _val1148_ (error)))
      (let ((_val1151_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator1145_
                'std/srfi/128#comparator::t))))
        (if _val1151_ _val1151_ (error)))
      (let ((_val1154_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1146_
                'std/srfi/146#<mapping>))))
        (if _val1154_ _val1154_ (error)))
      (std/srfi/146#mapping-fold
       (lambda (_key1157_ _value1158_ _mapping1159_)
         (let ((_g5451_ (_proc1144_ _key1157_ _value1158_)))
           (begin
             (let ((_g5452_ (let ()
                              (declare (not safe))
                              (if (##values? _g5451_)
                                  (##vector-length _g5451_)
                                  1))))
               (if (not (let () (declare (not safe)) (##fx= _g5452_ 2)))
                   (error "Context expects 2 values" _g5452_)))
             (let ((_key1161_
                    (let () (declare (not safe)) (##vector-ref _g5451_ 0)))
                   (_value1162_
                    (let () (declare (not safe)) (##vector-ref _g5451_ 1))))
               (std/srfi/146#mapping-set
                _mapping1159_
                _key1161_
                _value1162_)))))
       (std/srfi/146#make-empty-mapping _comparator1145_)
       _mapping1146_)))
  (define std/srfi/146#mapping-for-each
    (lambda (_proc1135_ _mapping1136_)
      (let ((_val1138_ (procedure? _proc1135_)))
        (if _val1138_ _val1138_ (error)))
      (let ((_val1141_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1136_
                'std/srfi/146#<mapping>))))
        (if _val1141_ _val1141_ (error)))
      (std/misc/rbtree#rbtree-for-each
       _proc1135_
       (##structure-ref _mapping1136_ '2 std/srfi/146#<mapping> '#f))))
  (define std/srfi/146#mapping-fold
    (lambda (_proc1125_ _acc1126_ _mapping1127_)
      (let ((_val1129_ (procedure? _proc1125_)))
        (if _val1129_ _val1129_ (error)))
      (let ((_val1132_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1127_
                'std/srfi/146#<mapping>))))
        (if _val1132_ _val1132_ (error)))
      (std/misc/rbtree#rbtree-fold
       _proc1125_
       _acc1126_
       (##structure-ref _mapping1127_ '2 std/srfi/146#<mapping> '#f))))
  (define std/srfi/146#mapping-map->list
    (lambda (_proc1112_ _mapping1113_)
      (let ((_val1115_ (procedure? _proc1112_)))
        (if _val1115_ _val1115_ (error)))
      (let ((_val1118_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1113_
                'std/srfi/146#<mapping>))))
        (if _val1118_ _val1118_ (error)))
      (std/srfi/146#mapping-fold/reverse
       (lambda (_key1121_ _value1122_ _lst1123_)
         (cons (_proc1112_ _key1121_ _value1122_) _lst1123_))
       '()
       _mapping1113_)))
  (define std/srfi/146#mapping-filter
    (lambda (_predicate1099_ _mapping1100_)
      (let ((_val1102_ (procedure? _predicate1099_)))
        (if _val1102_ _val1102_ (error)))
      (let ((_val1105_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1100_
                'std/srfi/146#<mapping>))))
        (if _val1105_ _val1105_ (error)))
      (std/srfi/146#mapping-fold
       (lambda (_key1108_ _value1109_ _mapping1110_)
         (if (_predicate1099_ _key1108_ _value1109_)
             (std/srfi/146#mapping-set _mapping1110_ _key1108_ _value1109_)
             _mapping1110_))
       (std/srfi/146#make-empty-mapping
        (##structure-ref _mapping1100_ '1 std/srfi/146#<mapping> '#f))
       _mapping1100_)))
  (define std/srfi/146#mapping-filter! std/srfi/146#mapping-filter)
  (define std/srfi/146#mapping-remove
    (lambda (_predicate1087_ _mapping1088_)
      (let ((_val1090_ (procedure? _predicate1087_)))
        (if _val1090_ _val1090_ (error)))
      (let ((_val1093_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1088_
                'std/srfi/146#<mapping>))))
        (if _val1093_ _val1093_ (error)))
      (std/srfi/146#mapping-filter
       (lambda (_key1096_ _value1097_)
         (not (_predicate1087_ _key1096_ _value1097_)))
       _mapping1088_)))
  (define std/srfi/146#mapping-remove! std/srfi/146#mapping-remove)
  (define std/srfi/146#mapping-partition
    (lambda (_predicate1078_ _mapping1079_)
      (let ((_val1081_ (procedure? _predicate1078_)))
        (if _val1081_ _val1081_ (error)))
      (let ((_val1084_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1079_
                'std/srfi/146#<mapping>))))
        (if _val1084_ _val1084_ (error)))
      (values (std/srfi/146#mapping-filter _predicate1078_ _mapping1079_)
              (std/srfi/146#mapping-remove _predicate1078_ _mapping1079_))))
  (define std/srfi/146#mapping-partition! std/srfi/146#mapping-partition)
  (define std/srfi/146#mapping-copy
    (lambda (_mapping1073_)
      (let ((_val1075_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1073_
                'std/srfi/146#<mapping>))))
        (if _val1075_ _val1075_ (error)))
      _mapping1073_))
  (define std/srfi/146#mapping->alist
    (lambda (_mapping1064_)
      (let ((_val1066_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1064_
                'std/srfi/146#<mapping>))))
        (if _val1066_ _val1066_ (error)))
      (reverse (std/srfi/146#mapping-fold
                (lambda (_key1069_ _value1070_ _alist1071_)
                  (cons (cons _key1069_ _value1070_) _alist1071_))
                '()
                _mapping1064_))))
  (define std/srfi/146#alist->mapping
    (lambda (_comparator1050_ _alist1051_)
      (let ((_val1053_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator1050_
                'std/srfi/128#comparator::t))))
        (if _val1053_ _val1053_ (error)))
      (let ((_val1056_ (list? _alist1051_))) (if _val1056_ _val1056_ (error)))
      (std/srfi/146#mapping-unfold
       null?
       (lambda (_alist1059_)
         (let ((_key1061_ (caar _alist1059_)) (_value1062_ (cdar _alist1059_)))
           (values _key1061_ _value1062_)))
       cdr
       _alist1051_
       _comparator1050_)))
  (define std/srfi/146#alist->mapping!
    (lambda (_mapping1035_ _alist1036_)
      (let ((_val1038_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1035_
                'std/srfi/146#<mapping>))))
        (if _val1038_ _val1038_ (error)))
      (let ((_val1041_ (list? _alist1036_))) (if _val1041_ _val1041_ (error)))
      (foldl1 (lambda (_association1044_ _mapping1045_)
                (let ((_key1047_ (car _association1044_))
                      (_value1048_ (cdr _association1044_)))
                  (std/srfi/146#mapping-set
                   _mapping1045_
                   _key1047_
                   _value1048_)))
              _mapping1035_
              _alist1036_)))
  (define std/srfi/146#alist->mapping/ordered std/srfi/146#alist->mapping)
  (define std/srfi/146#alist->mapping/ordered! std/srfi/146#alist->mapping!)
  (define std/srfi/146#mapping=?__0
    (lambda (_comparator1020_ _mapping1021_)
      (let ((_val1023_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1021_
                'std/srfi/146#<mapping>))))
        (if _val1023_ _val1023_ (error)))
      '#t))
  (define std/srfi/146#mapping=?__2
    (lambda (_comparator1030_ _mapping11031_ _mapping21032_ . _mappings1033_)
      (if (std/srfi/146#%mapping=?
           _comparator1030_
           _mapping11031_
           _mapping21032_)
          (apply std/srfi/146#mapping=?
                 _comparator1030_
                 _mapping21032_
                 _mappings1033_)
          '#f)))
  (define std/srfi/146#mapping=?
    (lambda _g5454_
      (let ((_g5453_ (let () (declare (not safe)) (##length _g5454_))))
        (cond ((let () (declare (not safe)) (##fx= _g5453_ 2))
               (apply std/srfi/146#mapping=?__0 _g5454_))
              ((let () (declare (not safe)) (##fx= _g5453_ 3))
               (apply std/srfi/146#%mapping=? _g5454_))
              ((let () (declare (not safe)) (##fx>= _g5453_ 3))
               (apply std/srfi/146#mapping=?__2 _g5454_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping=?
                _g5454_))))))
  (define std/srfi/146#%mapping=?
    (lambda (_comparator1016_ _mapping11017_ _mapping21018_)
      (if (eq? (##structure-ref _mapping11017_ '1 std/srfi/146#<mapping> '#f)
               (##structure-ref _mapping21018_ '1 std/srfi/146#<mapping> '#f))
          (if (std/srfi/146#%mapping<=?
               _comparator1016_
               _mapping11017_
               _mapping21018_)
              (std/srfi/146#%mapping<=?
               _comparator1016_
               _mapping21018_
               _mapping11017_)
              '#f)
          '#f)))
  (define std/srfi/146#mapping<=?__0
    (lambda (_comparator983_ _mapping984_)
      (let ((_val986_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping984_
                'std/srfi/146#<mapping>))))
        (if _val986_ _val986_ (error)))
      '#t))
  (define std/srfi/146#mapping<=?__1
    (lambda (_comparator989_ _mapping1990_ _mapping2991_)
      (let ((_val993_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator989_
                'std/srfi/128#comparator::t))))
        (if _val993_ _val993_ (error)))
      (let ((_val996_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1990_
                'std/srfi/146#<mapping>))))
        (if _val996_ _val996_ (error)))
      (let ((_val999_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2991_
                'std/srfi/146#<mapping>))))
        (if _val999_ _val999_ (error)))
      (std/srfi/146#%mapping<=? _comparator989_ _mapping1990_ _mapping2991_)))
  (define std/srfi/146#mapping<=?__2
    (lambda (_comparator1002_ _mapping11003_ _mapping21004_ . _mappings1005_)
      (let ((_val1007_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator1002_
                'std/srfi/128#comparator::t))))
        (if _val1007_ _val1007_ (error)))
      (let ((_val1010_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping11003_
                'std/srfi/146#<mapping>))))
        (if _val1010_ _val1010_ (error)))
      (let ((_val1013_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping21004_
                'std/srfi/146#<mapping>))))
        (if _val1013_ _val1013_ (error)))
      (if (std/srfi/146#%mapping<=?
           _comparator1002_
           _mapping11003_
           _mapping21004_)
          (apply std/srfi/146#mapping<=?
                 _comparator1002_
                 _mapping21004_
                 _mappings1005_)
          '#f)))
  (define std/srfi/146#mapping<=?
    (lambda _g5456_
      (let ((_g5455_ (let () (declare (not safe)) (##length _g5456_))))
        (cond ((let () (declare (not safe)) (##fx= _g5455_ 2))
               (apply std/srfi/146#mapping<=?__0 _g5456_))
              ((let () (declare (not safe)) (##fx= _g5455_ 3))
               (apply std/srfi/146#mapping<=?__1 _g5456_))
              ((let () (declare (not safe)) (##fx>= _g5455_ 3))
               (apply std/srfi/146#mapping<=?__2 _g5456_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping<=?
                _g5456_))))))
  (define std/srfi/146#%mapping<=?
    (lambda (_comparator955_ _mapping1956_ _mapping2957_)
      (let ((_val959_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator955_
                'std/srfi/128#comparator::t))))
        (if _val959_ _val959_ (error)))
      (let ((_val962_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1956_
                'std/srfi/146#<mapping>))))
        (if _val962_ _val962_ (error)))
      (let ((_val965_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2957_
                'std/srfi/146#<mapping>))))
        (if _val965_ _val965_ (error)))
      (let ((_less?968_
             (std/srfi/128#comparator-ordering-predicate
              (##structure-ref _mapping1956_ '1 std/srfi/146#<mapping> '#f)))
            (_equality-predicate969_
             (##direct-structure-ref
              _comparator955_
              '2
              std/srfi/128#comparator::t
              '#f))
            (_gen1970_
             (std/srfi/146#tree-generator
              (##structure-ref _mapping1956_ '2 std/srfi/146#<mapping> '#f)))
            (_gen2971_
             (std/srfi/146#tree-generator
              (##structure-ref _mapping2957_ '2 std/srfi/146#<mapping> '#f))))
        (let _loop973_ ((_item1975_ (_gen1970_)) (_item2976_ (_gen2971_)))
          (if (eof-object? _item1975_)
              '#t
              (if (eof-object? _item2976_)
                  '#f
                  (let ((_key1978_ (car _item1975_))
                        (_value1979_ (cadr _item1975_))
                        (_key2980_ (car _item2976_))
                        (_value2981_ (cadr _item2976_)))
                    (if (_less?968_ _key1978_ _key2980_)
                        '#f
                        (if (_less?968_ _key2980_ _key1978_)
                            (_loop973_ _item1975_ (_gen2971_))
                            (if (_equality-predicate969_
                                 _value1979_
                                 _value2981_)
                                (_loop973_ (_gen1970_) (_gen2971_))
                                '#f))))))))))
  (define std/srfi/146#mapping>?__0
    (lambda (_comparator922_ _mapping923_)
      (let ((_val925_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping923_
                'std/srfi/146#<mapping>))))
        (if _val925_ _val925_ (error)))
      '#t))
  (define std/srfi/146#mapping>?__1
    (lambda (_comparator928_ _mapping1929_ _mapping2930_)
      (let ((_val932_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator928_
                'std/srfi/128#comparator::t))))
        (if _val932_ _val932_ (error)))
      (let ((_val935_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1929_
                'std/srfi/146#<mapping>))))
        (if _val935_ _val935_ (error)))
      (let ((_val938_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2930_
                'std/srfi/146#<mapping>))))
        (if _val938_ _val938_ (error)))
      (std/srfi/146#%mapping>? _comparator928_ _mapping1929_ _mapping2930_)))
  (define std/srfi/146#mapping>?__2
    (lambda (_comparator941_ _mapping1942_ _mapping2943_ . _mappings944_)
      (let ((_val946_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator941_
                'std/srfi/128#comparator::t))))
        (if _val946_ _val946_ (error)))
      (let ((_val949_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1942_
                'std/srfi/146#<mapping>))))
        (if _val949_ _val949_ (error)))
      (let ((_val952_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2943_
                'std/srfi/146#<mapping>))))
        (if _val952_ _val952_ (error)))
      (if (std/srfi/146#%mapping>? _comparator941_ _mapping1942_ _mapping2943_)
          (apply std/srfi/146#mapping>?
                 _comparator941_
                 _mapping2943_
                 _mappings944_)
          '#f)))
  (define std/srfi/146#mapping>?
    (lambda _g5458_
      (let ((_g5457_ (let () (declare (not safe)) (##length _g5458_))))
        (cond ((let () (declare (not safe)) (##fx= _g5457_ 2))
               (apply std/srfi/146#mapping>?__0 _g5458_))
              ((let () (declare (not safe)) (##fx= _g5457_ 3))
               (apply std/srfi/146#mapping>?__1 _g5458_))
              ((let () (declare (not safe)) (##fx>= _g5457_ 3))
               (apply std/srfi/146#mapping>?__2 _g5458_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping>?
                _g5458_))))))
  (define std/srfi/146#%mapping>?
    (lambda (_comparator909_ _mapping1910_ _mapping2911_)
      (let ((_val913_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator909_
                'std/srfi/128#comparator::t))))
        (if _val913_ _val913_ (error)))
      (let ((_val916_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1910_
                'std/srfi/146#<mapping>))))
        (if _val916_ _val916_ (error)))
      (let ((_val919_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2911_
                'std/srfi/146#<mapping>))))
        (if _val919_ _val919_ (error)))
      (not (std/srfi/146#%mapping<=?
            _comparator909_
            _mapping1910_
            _mapping2911_))))
  (define std/srfi/146#mapping<?__0
    (lambda (_comparator876_ _mapping877_)
      (let ((_val879_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping877_
                'std/srfi/146#<mapping>))))
        (if _val879_ _val879_ (error)))
      '#t))
  (define std/srfi/146#mapping<?__1
    (lambda (_comparator882_ _mapping1883_ _mapping2884_)
      (let ((_val886_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator882_
                'std/srfi/128#comparator::t))))
        (if _val886_ _val886_ (error)))
      (let ((_val889_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1883_
                'std/srfi/146#<mapping>))))
        (if _val889_ _val889_ (error)))
      (let ((_val892_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2884_
                'std/srfi/146#<mapping>))))
        (if _val892_ _val892_ (error)))
      (std/srfi/146#%mapping<? _comparator882_ _mapping1883_ _mapping2884_)))
  (define std/srfi/146#mapping<?__2
    (lambda (_comparator895_ _mapping1896_ _mapping2897_ . _mappings898_)
      (let ((_val900_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator895_
                'std/srfi/128#comparator::t))))
        (if _val900_ _val900_ (error)))
      (let ((_val903_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1896_
                'std/srfi/146#<mapping>))))
        (if _val903_ _val903_ (error)))
      (let ((_val906_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2897_
                'std/srfi/146#<mapping>))))
        (if _val906_ _val906_ (error)))
      (if (std/srfi/146#%mapping<? _comparator895_ _mapping1896_ _mapping2897_)
          (apply std/srfi/146#mapping<?
                 _comparator895_
                 _mapping2897_
                 _mappings898_)
          '#f)))
  (define std/srfi/146#mapping<?
    (lambda _g5460_
      (let ((_g5459_ (let () (declare (not safe)) (##length _g5460_))))
        (cond ((let () (declare (not safe)) (##fx= _g5459_ 2))
               (apply std/srfi/146#mapping<?__0 _g5460_))
              ((let () (declare (not safe)) (##fx= _g5459_ 3))
               (apply std/srfi/146#mapping<?__1 _g5460_))
              ((let () (declare (not safe)) (##fx>= _g5459_ 3))
               (apply std/srfi/146#mapping<?__2 _g5460_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping<?
                _g5460_))))))
  (define std/srfi/146#%mapping<?
    (lambda (_comparator863_ _mapping1864_ _mapping2865_)
      (let ((_val867_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator863_
                'std/srfi/128#comparator::t))))
        (if _val867_ _val867_ (error)))
      (let ((_val870_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1864_
                'std/srfi/146#<mapping>))))
        (if _val870_ _val870_ (error)))
      (let ((_val873_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2865_
                'std/srfi/146#<mapping>))))
        (if _val873_ _val873_ (error)))
      (std/srfi/146#%mapping>? _comparator863_ _mapping2865_ _mapping1864_)))
  (define std/srfi/146#mapping>=?__0
    (lambda (_comparator830_ _mapping831_)
      (let ((_val833_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping831_
                'std/srfi/146#<mapping>))))
        (if _val833_ _val833_ (error)))
      '#t))
  (define std/srfi/146#mapping>=?__1
    (lambda (_comparator836_ _mapping1837_ _mapping2838_)
      (let ((_val840_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator836_
                'std/srfi/128#comparator::t))))
        (if _val840_ _val840_ (error)))
      (let ((_val843_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1837_
                'std/srfi/146#<mapping>))))
        (if _val843_ _val843_ (error)))
      (let ((_val846_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2838_
                'std/srfi/146#<mapping>))))
        (if _val846_ _val846_ (error)))
      (std/srfi/146#%mapping>=? _comparator836_ _mapping1837_ _mapping2838_)))
  (define std/srfi/146#mapping>=?__2
    (lambda (_comparator849_ _mapping1850_ _mapping2851_ . _mappings852_)
      (let ((_val854_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator849_
                'std/srfi/128#comparator::t))))
        (if _val854_ _val854_ (error)))
      (let ((_val857_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1850_
                'std/srfi/146#<mapping>))))
        (if _val857_ _val857_ (error)))
      (let ((_val860_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2851_
                'std/srfi/146#<mapping>))))
        (if _val860_ _val860_ (error)))
      (if (std/srfi/146#%mapping>=?
           _comparator849_
           _mapping1850_
           _mapping2851_)
          (apply std/srfi/146#mapping>=?
                 _comparator849_
                 _mapping2851_
                 _mappings852_)
          '#f)))
  (define std/srfi/146#mapping>=?
    (lambda _g5462_
      (let ((_g5461_ (let () (declare (not safe)) (##length _g5462_))))
        (cond ((let () (declare (not safe)) (##fx= _g5461_ 2))
               (apply std/srfi/146#mapping>=?__0 _g5462_))
              ((let () (declare (not safe)) (##fx= _g5461_ 3))
               (apply std/srfi/146#mapping>=?__1 _g5462_))
              ((let () (declare (not safe)) (##fx>= _g5461_ 3))
               (apply std/srfi/146#mapping>=?__2 _g5462_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping>=?
                _g5462_))))))
  (define std/srfi/146#%mapping>=?
    (lambda (_comparator817_ _mapping1818_ _mapping2819_)
      (let ((_val821_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator817_
                'std/srfi/128#comparator::t))))
        (if _val821_ _val821_ (error)))
      (let ((_val824_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1818_
                'std/srfi/146#<mapping>))))
        (if _val824_ _val824_ (error)))
      (let ((_val827_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2819_
                'std/srfi/146#<mapping>))))
        (if _val827_ _val827_ (error)))
      (not (std/srfi/146#%mapping<?
            _comparator817_
            _mapping1818_
            _mapping2819_))))
  (define std/srfi/146#%mapping-union
    (lambda (_mapping1799_ _mapping2800_)
      (std/srfi/146#mapping-fold
       (lambda (_key2802_ _value2803_ _mapping804_)
         (let ((_g5463_ (std/srfi/146#mapping-search
                         _mapping804_
                         _key2802_
                         (lambda (_insert806_ _ignore807_)
                           (_insert806_ _value2803_ '#f))
                         (lambda (_key1809_
                                  _value1810_
                                  _update811_
                                  _remove812_)
                           (_update811_ _key1809_ _value1810_ '#f)))))
           (begin
             (let ((_g5464_ (let ()
                              (declare (not safe))
                              (if (##values? _g5463_)
                                  (##vector-length _g5463_)
                                  1))))
               (if (not (let () (declare (not safe)) (##fx= _g5464_ 2)))
                   (error "Context expects 2 values" _g5464_)))
             (let ((_mapping814_
                    (let () (declare (not safe)) (##vector-ref _g5463_ 0)))
                   (_obj815_
                    (let () (declare (not safe)) (##vector-ref _g5463_ 1))))
               _mapping814_))))
       _mapping1799_
       _mapping2800_)))
  (define std/srfi/146#%mapping-intersection
    (lambda (_mapping1793_ _mapping2794_)
      (std/srfi/146#mapping-filter
       (lambda (_key1796_ _value1797_)
         (std/srfi/146#mapping-contains? _mapping2794_ _key1796_))
       _mapping1793_)))
  (define std/srfi/146#%mapping-difference
    (lambda (_mapping1775_ _mapping2776_)
      (std/srfi/146#mapping-fold
       (lambda (_key2778_ _value2779_ _mapping780_)
         (let ((_g5465_ (std/srfi/146#mapping-search
                         _mapping780_
                         _key2778_
                         (lambda (_insert782_ _ignore783_) (_ignore783_ '#f))
                         (lambda (_key1785_
                                  _value1786_
                                  _update787_
                                  _remove788_)
                           (_remove788_ '#f)))))
           (begin
             (let ((_g5466_ (let ()
                              (declare (not safe))
                              (if (##values? _g5465_)
                                  (##vector-length _g5465_)
                                  1))))
               (if (not (let () (declare (not safe)) (##fx= _g5466_ 2)))
                   (error "Context expects 2 values" _g5466_)))
             (let ((_mapping790_
                    (let () (declare (not safe)) (##vector-ref _g5465_ 0)))
                   (_obj791_
                    (let () (declare (not safe)) (##vector-ref _g5465_ 1))))
               _mapping790_))))
       _mapping1775_
       _mapping2776_)))
  (define std/srfi/146#%mapping-xor
    (lambda (_mapping1757_ _mapping2758_)
      (std/srfi/146#mapping-fold
       (lambda (_key2760_ _value2761_ _mapping762_)
         (let ((_g5467_ (std/srfi/146#mapping-search
                         _mapping762_
                         _key2760_
                         (lambda (_insert764_ _ignore765_)
                           (_insert764_ _value2761_ '#f))
                         (lambda (_key1767_
                                  _value1768_
                                  _update769_
                                  _remove770_)
                           (_remove770_ '#f)))))
           (begin
             (let ((_g5468_ (let ()
                              (declare (not safe))
                              (if (##values? _g5467_)
                                  (##vector-length _g5467_)
                                  1))))
               (if (not (let () (declare (not safe)) (##fx= _g5468_ 2)))
                   (error "Context expects 2 values" _g5468_)))
             (let ((_mapping772_
                    (let () (declare (not safe)) (##vector-ref _g5467_ 0)))
                   (_obj773_
                    (let () (declare (not safe)) (##vector-ref _g5467_ 1))))
               _mapping772_))))
       _mapping1757_
       _mapping2758_)))
  (define std/srfi/146#mapping-union__0
    (lambda (_mapping733_)
      (let ((_val735_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping733_
                'std/srfi/146#<mapping>))))
        (if _val735_ _val735_ (error)))
      _mapping733_))
  (define std/srfi/146#mapping-union__1
    (lambda (_mapping1738_ _mapping2739_)
      (let ((_val741_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1738_
                'std/srfi/146#<mapping>))))
        (if _val741_ _val741_ (error)))
      (let ((_val744_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2739_
                'std/srfi/146#<mapping>))))
        (if _val744_ _val744_ (error)))
      (std/srfi/146#%mapping-union _mapping1738_ _mapping2739_)))
  (define std/srfi/146#mapping-union__2
    (lambda (_mapping1747_ _mapping2748_ . _mappings749_)
      (let ((_val751_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1747_
                'std/srfi/146#<mapping>))))
        (if _val751_ _val751_ (error)))
      (let ((_val754_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2748_
                'std/srfi/146#<mapping>))))
        (if _val754_ _val754_ (error)))
      (apply std/srfi/146#mapping-union
             (std/srfi/146#%mapping-union _mapping1747_ _mapping2748_)
             _mappings749_)))
  (define std/srfi/146#mapping-union
    (lambda _g5470_
      (let ((_g5469_ (let () (declare (not safe)) (##length _g5470_))))
        (cond ((let () (declare (not safe)) (##fx= _g5469_ 1))
               (apply std/srfi/146#mapping-union__0 _g5470_))
              ((let () (declare (not safe)) (##fx= _g5469_ 2))
               (apply std/srfi/146#mapping-union__1 _g5470_))
              ((let () (declare (not safe)) (##fx>= _g5469_ 2))
               (apply std/srfi/146#mapping-union__2 _g5470_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-union
                _g5470_))))))
  (define std/srfi/146#mapping-union! std/srfi/146#mapping-union)
  (define std/srfi/146#mapping-intersection__0
    (lambda (_mapping709_)
      (let ((_val711_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping709_
                'std/srfi/146#<mapping>))))
        (if _val711_ _val711_ (error)))
      _mapping709_))
  (define std/srfi/146#mapping-intersection__1
    (lambda (_mapping1714_ _mapping2715_)
      (let ((_val717_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1714_
                'std/srfi/146#<mapping>))))
        (if _val717_ _val717_ (error)))
      (let ((_val720_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2715_
                'std/srfi/146#<mapping>))))
        (if _val720_ _val720_ (error)))
      (std/srfi/146#%mapping-intersection _mapping1714_ _mapping2715_)))
  (define std/srfi/146#mapping-intersection__2
    (lambda (_mapping1723_ _mapping2724_ . _mappings725_)
      (let ((_val727_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1723_
                'std/srfi/146#<mapping>))))
        (if _val727_ _val727_ (error)))
      (let ((_val730_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2724_
                'std/srfi/146#<mapping>))))
        (if _val730_ _val730_ (error)))
      (apply std/srfi/146#mapping-intersection
             (std/srfi/146#%mapping-intersection _mapping1723_ _mapping2724_)
             _mappings725_)))
  (define std/srfi/146#mapping-intersection
    (lambda _g5472_
      (let ((_g5471_ (let () (declare (not safe)) (##length _g5472_))))
        (cond ((let () (declare (not safe)) (##fx= _g5471_ 1))
               (apply std/srfi/146#mapping-intersection__0 _g5472_))
              ((let () (declare (not safe)) (##fx= _g5471_ 2))
               (apply std/srfi/146#mapping-intersection__1 _g5472_))
              ((let () (declare (not safe)) (##fx>= _g5471_ 2))
               (apply std/srfi/146#mapping-intersection__2 _g5472_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-intersection
                _g5472_))))))
  (define std/srfi/146#mapping-intersection! std/srfi/146#mapping-intersection)
  (define std/srfi/146#mapping-difference__0
    (lambda (_mapping685_)
      (let ((_val687_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping685_
                'std/srfi/146#<mapping>))))
        (if _val687_ _val687_ (error)))
      _mapping685_))
  (define std/srfi/146#mapping-difference__1
    (lambda (_mapping1690_ _mapping2691_)
      (let ((_val693_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1690_
                'std/srfi/146#<mapping>))))
        (if _val693_ _val693_ (error)))
      (let ((_val696_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2691_
                'std/srfi/146#<mapping>))))
        (if _val696_ _val696_ (error)))
      (std/srfi/146#%mapping-difference _mapping1690_ _mapping2691_)))
  (define std/srfi/146#mapping-difference__2
    (lambda (_mapping1699_ _mapping2700_ . _mappings701_)
      (let ((_val703_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1699_
                'std/srfi/146#<mapping>))))
        (if _val703_ _val703_ (error)))
      (let ((_val706_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2700_
                'std/srfi/146#<mapping>))))
        (if _val706_ _val706_ (error)))
      (apply std/srfi/146#mapping-difference
             (std/srfi/146#%mapping-difference _mapping1699_ _mapping2700_)
             _mappings701_)))
  (define std/srfi/146#mapping-difference
    (lambda _g5474_
      (let ((_g5473_ (let () (declare (not safe)) (##length _g5474_))))
        (cond ((let () (declare (not safe)) (##fx= _g5473_ 1))
               (apply std/srfi/146#mapping-difference__0 _g5474_))
              ((let () (declare (not safe)) (##fx= _g5473_ 2))
               (apply std/srfi/146#mapping-difference__1 _g5474_))
              ((let () (declare (not safe)) (##fx>= _g5473_ 2))
               (apply std/srfi/146#mapping-difference__2 _g5474_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-difference
                _g5474_))))))
  (define std/srfi/146#mapping-difference! std/srfi/146#mapping-difference)
  (define std/srfi/146#mapping-xor__0
    (lambda (_mapping661_)
      (let ((_val663_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping661_
                'std/srfi/146#<mapping>))))
        (if _val663_ _val663_ (error)))
      _mapping661_))
  (define std/srfi/146#mapping-xor__1
    (lambda (_mapping1666_ _mapping2667_)
      (let ((_val669_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1666_
                'std/srfi/146#<mapping>))))
        (if _val669_ _val669_ (error)))
      (let ((_val672_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2667_
                'std/srfi/146#<mapping>))))
        (if _val672_ _val672_ (error)))
      (std/srfi/146#%mapping-xor _mapping1666_ _mapping2667_)))
  (define std/srfi/146#mapping-xor__2
    (lambda (_mapping1675_ _mapping2676_ . _mappings677_)
      (let ((_val679_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1675_
                'std/srfi/146#<mapping>))))
        (if _val679_ _val679_ (error)))
      (let ((_val682_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2676_
                'std/srfi/146#<mapping>))))
        (if _val682_ _val682_ (error)))
      (apply std/srfi/146#mapping-xor
             (std/srfi/146#%mapping-xor _mapping1675_ _mapping2676_)
             _mappings677_)))
  (define std/srfi/146#mapping-xor
    (lambda _g5476_
      (let ((_g5475_ (let () (declare (not safe)) (##length _g5476_))))
        (cond ((let () (declare (not safe)) (##fx= _g5475_ 1))
               (apply std/srfi/146#mapping-xor__0 _g5476_))
              ((let () (declare (not safe)) (##fx= _g5475_ 2))
               (apply std/srfi/146#mapping-xor__1 _g5476_))
              ((let () (declare (not safe)) (##fx>= _g5475_ 2))
               (apply std/srfi/146#mapping-xor__2 _g5476_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/146#mapping-xor
                _g5476_))))))
  (define std/srfi/146#mapping-xor! std/srfi/146#mapping-xor)
  (define std/srfi/146#mapping-min-key
    (lambda (_mapping650_)
      (let ((_val652_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping650_
                'std/srfi/146#<mapping>))))
        (if _val652_ _val652_ (error)))
      (call-with-current-continuation
       (lambda (_return655_)
         (std/srfi/146#mapping-fold
          (lambda (_key657_ _value658_ _acc659_) (_return655_ _key657_))
          '#f
          _mapping650_)
         (error '"mapping-min-key: empty map")))))
  (define std/srfi/146#mapping-max-key
    (lambda (_mapping639_)
      (let ((_val641_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping639_
                'std/srfi/146#<mapping>))))
        (if _val641_ _val641_ (error)))
      (call-with-current-continuation
       (lambda (_return644_)
         (std/srfi/146#mapping-fold/reverse
          (lambda (_key646_ _value647_ _acc648_) (_return644_ _key646_))
          '#f
          _mapping639_)
         (error '"mapping-max-key: empty map")))))
  (define std/srfi/146#mapping-min-value
    (lambda (_mapping628_)
      (let ((_val630_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping628_
                'std/srfi/146#<mapping>))))
        (if _val630_ _val630_ (error)))
      (call-with-current-continuation
       (lambda (_return633_)
         (std/srfi/146#mapping-fold
          (lambda (_key635_ _value636_ _acc637_) (_return633_ _value636_))
          '#f
          _mapping628_)
         (error '"mapping-min-value: empty map")))))
  (define std/srfi/146#mapping-max-value
    (lambda (_mapping617_)
      (let ((_val619_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping617_
                'std/srfi/146#<mapping>))))
        (if _val619_ _val619_ (error)))
      (call-with-current-continuation
       (lambda (_return622_)
         (std/srfi/146#mapping-fold/reverse
          (lambda (_key624_ _value625_ _acc626_) (_return622_ _value625_))
          '#f
          _mapping617_)
         (error '"mapping-max-value: empty map")))))
  (define std/srfi/146#mapping-min-entry
    (lambda (_mapping606_)
      (let ((_val608_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping606_
                'std/srfi/146#<mapping>))))
        (if _val608_ _val608_ (error)))
      (call-with-current-continuation
       (lambda (_return611_)
         (std/srfi/146#mapping-fold
          (lambda (_key613_ _value614_ _acc615_)
            (_return611_ _key613_ _value614_))
          '#f
          _mapping606_)
         (error '"mapping-min-key: empty map")))))
  (define std/srfi/146#mapping-max-entry
    (lambda (_mapping595_)
      (let ((_val597_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping595_
                'std/srfi/146#<mapping>))))
        (if _val597_ _val597_ (error)))
      (call-with-current-continuation
       (lambda (_return600_)
         (std/srfi/146#mapping-fold/reverse
          (lambda (_key602_ _value603_ _acc604_)
            (_return600_ _key602_ _value603_))
          '#f
          _mapping595_)
         (error '"mapping-max-key: empty map")))))
  (define std/srfi/146#mapping-key-predecessor
    (lambda (_mapping585_ _obj586_ _failure587_)
      (let ((_val589_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping585_
                'std/srfi/146#<mapping>))))
        (if _val589_ _val589_ (error)))
      (let ((_val592_ (procedure? _failure587_)))
        (if _val592_ _val592_ (error)))
      (std/srfi/146#tree-key-predecessor
       (##structure-ref _mapping585_ '1 std/srfi/146#<mapping> '#f)
       (##structure-ref _mapping585_ '2 std/srfi/146#<mapping> '#f)
       _obj586_
       _failure587_)))
  (define std/srfi/146#mapping-key-successor
    (lambda (_mapping575_ _obj576_ _failure577_)
      (let ((_val579_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping575_
                'std/srfi/146#<mapping>))))
        (if _val579_ _val579_ (error)))
      (let ((_val582_ (procedure? _failure577_)))
        (if _val582_ _val582_ (error)))
      (std/srfi/146#tree-key-successor
       (##structure-ref _mapping575_ '1 std/srfi/146#<mapping> '#f)
       (##structure-ref _mapping575_ '2 std/srfi/146#<mapping> '#f)
       _obj576_
       _failure577_)))
  (define std/srfi/146#mapping-range=
    (lambda (_mapping561_ _obj562_)
      (let ((_val564_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping561_
                'std/srfi/146#<mapping>))))
        (if _val564_ _val564_ (error)))
      (let* ((_comparator567_
              (##structure-ref _mapping561_ '1 std/srfi/146#<mapping> '#f))
             (_g5477_ (std/srfi/146#tree-split
                       _comparator567_
                       (##structure-ref
                        _mapping561_
                        '2
                        std/srfi/146#<mapping>
                        '#f)
                       _obj562_)))
        (begin
          (let ((_g5478_ (let ()
                           (declare (not safe))
                           (if (##values? _g5477_)
                               (##vector-length _g5477_)
                               1))))
            (if (not (let () (declare (not safe)) (##fx= _g5478_ 5)))
                (error "Context expects 5 values" _g5478_)))
          (let ((_tree<569_
                 (let () (declare (not safe)) (##vector-ref _g5477_ 0)))
                (_tree<=570_
                 (let () (declare (not safe)) (##vector-ref _g5477_ 1)))
                (_tree=571_
                 (let () (declare (not safe)) (##vector-ref _g5477_ 2)))
                (_tree>=572_
                 (let () (declare (not safe)) (##vector-ref _g5477_ 3)))
                (_tree>573_
                 (let () (declare (not safe)) (##vector-ref _g5477_ 4))))
            (let ()
              (declare (not safe))
              (##structure
               std/srfi/146#<mapping>
               _comparator567_
               _tree=571_)))))))
  (define std/srfi/146#mapping-range<
    (lambda (_mapping547_ _obj548_)
      (let ((_val550_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping547_
                'std/srfi/146#<mapping>))))
        (if _val550_ _val550_ (error)))
      (let* ((_comparator553_
              (##structure-ref _mapping547_ '1 std/srfi/146#<mapping> '#f))
             (_g5479_ (std/srfi/146#tree-split
                       _comparator553_
                       (##structure-ref
                        _mapping547_
                        '2
                        std/srfi/146#<mapping>
                        '#f)
                       _obj548_)))
        (begin
          (let ((_g5480_ (let ()
                           (declare (not safe))
                           (if (##values? _g5479_)
                               (##vector-length _g5479_)
                               1))))
            (if (not (let () (declare (not safe)) (##fx= _g5480_ 5)))
                (error "Context expects 5 values" _g5480_)))
          (let ((_tree<555_
                 (let () (declare (not safe)) (##vector-ref _g5479_ 0)))
                (_tree<=556_
                 (let () (declare (not safe)) (##vector-ref _g5479_ 1)))
                (_tree=557_
                 (let () (declare (not safe)) (##vector-ref _g5479_ 2)))
                (_tree>=558_
                 (let () (declare (not safe)) (##vector-ref _g5479_ 3)))
                (_tree>559_
                 (let () (declare (not safe)) (##vector-ref _g5479_ 4))))
            (let ()
              (declare (not safe))
              (##structure
               std/srfi/146#<mapping>
               _comparator553_
               _tree<555_)))))))
  (define std/srfi/146#mapping-range<=
    (lambda (_mapping533_ _obj534_)
      (let ((_val536_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping533_
                'std/srfi/146#<mapping>))))
        (if _val536_ _val536_ (error)))
      (let* ((_comparator539_
              (##structure-ref _mapping533_ '1 std/srfi/146#<mapping> '#f))
             (_g5481_ (std/srfi/146#tree-split
                       _comparator539_
                       (##structure-ref
                        _mapping533_
                        '2
                        std/srfi/146#<mapping>
                        '#f)
                       _obj534_)))
        (begin
          (let ((_g5482_ (let ()
                           (declare (not safe))
                           (if (##values? _g5481_)
                               (##vector-length _g5481_)
                               1))))
            (if (not (let () (declare (not safe)) (##fx= _g5482_ 5)))
                (error "Context expects 5 values" _g5482_)))
          (let ((_tree<541_
                 (let () (declare (not safe)) (##vector-ref _g5481_ 0)))
                (_tree<=542_
                 (let () (declare (not safe)) (##vector-ref _g5481_ 1)))
                (_tree=543_
                 (let () (declare (not safe)) (##vector-ref _g5481_ 2)))
                (_tree>=544_
                 (let () (declare (not safe)) (##vector-ref _g5481_ 3)))
                (_tree>545_
                 (let () (declare (not safe)) (##vector-ref _g5481_ 4))))
            (let ()
              (declare (not safe))
              (##structure
               std/srfi/146#<mapping>
               _comparator539_
               _tree<=542_)))))))
  (define std/srfi/146#mapping-range>
    (lambda (_mapping519_ _obj520_)
      (let ((_val522_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping519_
                'std/srfi/146#<mapping>))))
        (if _val522_ _val522_ (error)))
      (let* ((_comparator525_
              (##structure-ref _mapping519_ '1 std/srfi/146#<mapping> '#f))
             (_g5483_ (std/srfi/146#tree-split
                       _comparator525_
                       (##structure-ref
                        _mapping519_
                        '2
                        std/srfi/146#<mapping>
                        '#f)
                       _obj520_)))
        (begin
          (let ((_g5484_ (let ()
                           (declare (not safe))
                           (if (##values? _g5483_)
                               (##vector-length _g5483_)
                               1))))
            (if (not (let () (declare (not safe)) (##fx= _g5484_ 5)))
                (error "Context expects 5 values" _g5484_)))
          (let ((_tree<527_
                 (let () (declare (not safe)) (##vector-ref _g5483_ 0)))
                (_tree<=528_
                 (let () (declare (not safe)) (##vector-ref _g5483_ 1)))
                (_tree=529_
                 (let () (declare (not safe)) (##vector-ref _g5483_ 2)))
                (_tree>=530_
                 (let () (declare (not safe)) (##vector-ref _g5483_ 3)))
                (_tree>531_
                 (let () (declare (not safe)) (##vector-ref _g5483_ 4))))
            (let ()
              (declare (not safe))
              (##structure
               std/srfi/146#<mapping>
               _comparator525_
               _tree>531_)))))))
  (define std/srfi/146#mapping-range>=
    (lambda (_mapping502_ _obj503_)
      (let ((_val505_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping502_
                'std/srfi/146#<mapping>))))
        (if _val505_ _val505_ (error)))
      (let ((_val508_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping502_
                'std/srfi/146#<mapping>))))
        (if _val508_ _val508_ (error)))
      (let* ((_comparator511_
              (##structure-ref _mapping502_ '1 std/srfi/146#<mapping> '#f))
             (_g5485_ (std/srfi/146#tree-split
                       _comparator511_
                       (##structure-ref
                        _mapping502_
                        '2
                        std/srfi/146#<mapping>
                        '#f)
                       _obj503_)))
        (begin
          (let ((_g5486_ (let ()
                           (declare (not safe))
                           (if (##values? _g5485_)
                               (##vector-length _g5485_)
                               1))))
            (if (not (let () (declare (not safe)) (##fx= _g5486_ 5)))
                (error "Context expects 5 values" _g5486_)))
          (let ((_tree<513_
                 (let () (declare (not safe)) (##vector-ref _g5485_ 0)))
                (_tree<=514_
                 (let () (declare (not safe)) (##vector-ref _g5485_ 1)))
                (_tree=515_
                 (let () (declare (not safe)) (##vector-ref _g5485_ 2)))
                (_tree>=516_
                 (let () (declare (not safe)) (##vector-ref _g5485_ 3)))
                (_tree>517_
                 (let () (declare (not safe)) (##vector-ref _g5485_ 4))))
            (let ()
              (declare (not safe))
              (##structure
               std/srfi/146#<mapping>
               _comparator511_
               _tree>=516_)))))))
  (define std/srfi/146#mapping-range=! std/srfi/146#mapping-range=)
  (define std/srfi/146#mapping-range<! std/srfi/146#mapping-range<)
  (define std/srfi/146#mapping-range>! std/srfi/146#mapping-range>)
  (define std/srfi/146#mapping-range<=! std/srfi/146#mapping-range<=)
  (define std/srfi/146#mapping-range>=! std/srfi/146#mapping-range>=)
  (define std/srfi/146#mapping-split
    (lambda (_mapping488_ _obj489_)
      (let ((_val491_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping488_
                'std/srfi/146#<mapping>))))
        (if _val491_ _val491_ (error)))
      (let* ((_comparator494_
              (##structure-ref _mapping488_ '1 std/srfi/146#<mapping> '#f))
             (_g5487_ (std/srfi/146#tree-split
                       _comparator494_
                       (##structure-ref
                        _mapping488_
                        '2
                        std/srfi/146#<mapping>
                        '#f)
                       _obj489_)))
        (begin
          (let ((_g5488_ (let ()
                           (declare (not safe))
                           (if (##values? _g5487_)
                               (##vector-length _g5487_)
                               1))))
            (if (not (let () (declare (not safe)) (##fx= _g5488_ 5)))
                (error "Context expects 5 values" _g5488_)))
          (let ((_tree<496_
                 (let () (declare (not safe)) (##vector-ref _g5487_ 0)))
                (_tree<=497_
                 (let () (declare (not safe)) (##vector-ref _g5487_ 1)))
                (_tree=498_
                 (let () (declare (not safe)) (##vector-ref _g5487_ 2)))
                (_tree>=499_
                 (let () (declare (not safe)) (##vector-ref _g5487_ 3)))
                (_tree>500_
                 (let () (declare (not safe)) (##vector-ref _g5487_ 4))))
            (values (let ()
                      (declare (not safe))
                      (##structure
                       std/srfi/146#<mapping>
                       _comparator494_
                       _tree<496_))
                    (let ()
                      (declare (not safe))
                      (##structure
                       std/srfi/146#<mapping>
                       _comparator494_
                       _tree<=497_))
                    (let ()
                      (declare (not safe))
                      (##structure
                       std/srfi/146#<mapping>
                       _comparator494_
                       _tree=498_))
                    (let ()
                      (declare (not safe))
                      (##structure
                       std/srfi/146#<mapping>
                       _comparator494_
                       _tree>=499_))
                    (let ()
                      (declare (not safe))
                      (##structure
                       std/srfi/146#<mapping>
                       _comparator494_
                       _tree>500_))))))))
  (define std/srfi/146#mapping-split! std/srfi/146#mapping-split)
  (define std/srfi/146#mapping-catenate
    (lambda (_comparator473_
             _mapping1474_
             _pivot-key475_
             _pivot-value476_
             _mapping2477_)
      (let ((_val479_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator473_
                'std/srfi/128#comparator::t))))
        (if _val479_ _val479_ (error)))
      (let ((_val482_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping1474_
                'std/srfi/146#<mapping>))))
        (if _val482_ _val482_ (error)))
      (let ((_val485_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping2477_
                'std/srfi/146#<mapping>))))
        (if _val485_ _val485_ (error)))
      (let ((__tmp5489
             (std/srfi/146#tree-catenate
              (##structure-ref _mapping1474_ '2 std/srfi/146#<mapping> '#f)
              _pivot-key475_
              _pivot-value476_
              (##structure-ref _mapping2477_ '2 std/srfi/146#<mapping> '#f))))
        (declare (not safe))
        (##structure std/srfi/146#<mapping> _comparator473_ __tmp5489))))
  (define std/srfi/146#mapping-catenate! std/srfi/146#mapping-catenate)
  (define std/srfi/146#mapping-map/monotone
    (lambda (_proc460_ _comparator461_ _mapping462_)
      (let ((_val464_ (procedure? _proc460_))) (if _val464_ _val464_ (error)))
      (let ((_val467_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator461_
                'std/srfi/128#comparator::t))))
        (if _val467_ _val467_ (error)))
      (let ((_val470_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping462_
                'std/srfi/146#<mapping>))))
        (if _val470_ _val470_ (error)))
      (let ((__tmp5490
             (std/srfi/146#tree-map
              _proc460_
              (##structure-ref _mapping462_ '2 std/srfi/146#<mapping> '#f))))
        (declare (not safe))
        (##structure std/srfi/146#<mapping> _comparator461_ __tmp5490))))
  (define std/srfi/146#mapping-map/monotone! std/srfi/146#mapping-map/monotone)
  (define std/srfi/146#mapping-fold/reverse
    (lambda (_proc450_ _acc451_ _mapping452_)
      (let ((_val454_ (procedure? _proc450_))) (if _val454_ _val454_ (error)))
      (let ((_val457_
             (let ()
               (declare (not safe))
               (##structure-instance-of?
                _mapping452_
                'std/srfi/146#<mapping>))))
        (if _val457_ _val457_ (error)))
      (std/misc/rbtree#rbtree-foldr
       _proc450_
       _acc451_
       (##structure-ref _mapping452_ '2 std/srfi/146#<mapping> '#f))))
  (define std/srfi/146#mapping-equality
    (lambda (_comparator442_)
      (let ((_val444_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator442_
                'std/srfi/128#comparator::t))))
        (if _val444_ _val444_ (error)))
      (lambda (_mapping1447_ _mapping2448_)
        (std/srfi/146#%mapping=?
         _comparator442_
         _mapping1447_
         _mapping2448_))))
  (define std/srfi/146#mapping-ordering
    (lambda (_comparator409_)
      (let ((_val411_
             (let ()
               (declare (not safe))
               (##structure-direct-instance-of?
                _comparator409_
                'std/srfi/128#comparator::t))))
        (if _val411_ _val411_ (error)))
      (let ((_value-equality414_
             (##direct-structure-ref
              _comparator409_
              '2
              std/srfi/128#comparator::t
              '#f))
            (_value-ordering415_
             (std/srfi/128#comparator-ordering-predicate _comparator409_)))
        (lambda (_mapping1417_ _mapping2418_)
          (let* ((_key-comparator420_
                  (##structure-ref
                   _mapping1417_
                   '1
                   std/srfi/146#<mapping>
                   '#f))
                 (_equality422_
                  (##direct-structure-ref
                   _key-comparator420_
                   '2
                   std/srfi/128#comparator::t
                   '#f))
                 (_ordering424_
                  (std/srfi/128#comparator-ordering-predicate
                   _key-comparator420_))
                 (_gen1426_
                  (std/srfi/146#tree-generator
                   (##structure-ref
                    _mapping1417_
                    '2
                    std/srfi/146#<mapping>
                    '#f)))
                 (_gen2428_
                  (std/srfi/146#tree-generator
                   (##structure-ref
                    _mapping2418_
                    '2
                    std/srfi/146#<mapping>
                    '#f))))
            (let _loop431_ ()
              (let ((_item1434_ (_gen1426_)) (_item2435_ (_gen2428_)))
                (if (eof-object? _item1434_)
                    (not (eof-object? _item2435_))
                    (if (eof-object? _item2435_)
                        '#f
                        (let ((_key1437_ (car _item1434_))
                              (_value1438_ (cadr _item1434_))
                              (_key2439_ (car _item2435_))
                              (_value2440_ (cadr _item2435_)))
                          (if (_equality422_ _key1437_ _key2439_)
                              (if (_value-equality414_ _value1438_ _value2440_)
                                  (_loop431_)
                                  (_value-ordering415_
                                   _value1438_
                                   _value2440_))
                              (_ordering424_ _key1437_ _key2439_))))))))))))
  (define std/srfi/146#make-mapping-comparator
    (lambda (_comparator407_)
      (let ((__tmp5492 (std/srfi/146#mapping-equality _comparator407_))
            (__tmp5491 (std/srfi/146#mapping-ordering _comparator407_)))
        (declare (not safe))
        (##structure
         std/srfi/128#comparator::t
         std/srfi/146#mapping?
         __tmp5492
         __tmp5491
         '#f))))
  (define std/srfi/146#mapping-comparator
    (std/srfi/146#make-mapping-comparator
     (std/srfi/128#make-default-comparator)))
  (std/srfi/128#comparator-register-default! std/srfi/146#mapping-comparator))
