(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/srfi/113#sob
    (make-struct-type
     'std/srfi/113#sob
     '#f
     '3
     'sob
     '((fields: hash-table comparator multi?))
     '#f))
  (define std/srfi/113#sob? (make-struct-predicate std/srfi/113#sob))
  (define std/srfi/113#sob-hash-table
    (make-struct-field-accessor std/srfi/113#sob '0))
  (define std/srfi/113#sob-comparator
    (make-struct-field-accessor std/srfi/113#sob '1))
  (define std/srfi/113#sob-multi?
    (make-struct-field-accessor std/srfi/113#sob '2))
  (define std/srfi/113#raw-make-sob
    (lambda (_hash-table1275_ _comparator1276_ _multi?1277_)
      (make-struct-instance
       std/srfi/113#sob
       _hash-table1275_
       _comparator1276_
       _multi?1277_)))
  (define std/srfi/113#set?
    (lambda (_obj1273_)
      (if (let ()
            (declare (not safe))
            (##structure-instance-of? _obj1273_ 'std/srfi/113#sob))
          (not (##structure-ref _obj1273_ '3 std/srfi/113#sob '#f))
          '#f)))
  (define std/srfi/113#bag?
    (lambda (_obj1271_)
      (if (let ()
            (declare (not safe))
            (##structure-instance-of? _obj1271_ 'std/srfi/113#sob))
          (##structure-ref _obj1271_ '3 std/srfi/113#sob '#f)
          '#f)))
  (define std/srfi/113#check-set
    (lambda (_obj1269_)
      (if (not (std/srfi/113#set? _obj1269_))
          (error '"not a set" _obj1269_)
          '#!void)))
  (define std/srfi/113#check-bag
    (lambda (_obj1267_)
      (if (not (std/srfi/113#bag? _obj1267_))
          (error '"not a bag" _obj1267_)
          '#!void)))
  (define std/srfi/113#check-all-sets
    (lambda (_list1263_)
      (for-each
       (lambda (_obj1265_) (std/srfi/113#check-set _obj1265_))
       _list1263_)
      (std/srfi/113#sob-check-comparators _list1263_)))
  (define std/srfi/113#check-all-bags
    (lambda (_list1259_)
      (for-each
       (lambda (_obj1261_) (std/srfi/113#check-bag _obj1261_))
       _list1259_)
      (std/srfi/113#sob-check-comparators _list1259_)))
  (define std/srfi/113#sob-check-comparators
    (lambda (_list1255_)
      (if (not (null? _list1255_))
          (for-each
           (lambda (_sob1257_)
             (std/srfi/113#check-same-comparator (car _list1255_) _sob1257_))
           (cdr _list1255_))
          '#!void)))
  (define std/srfi/113#check-same-comparator
    (lambda (_a1252_ _b1253_)
      (if (not (eq? (##structure-ref _a1252_ '2 std/srfi/113#sob '#f)
                    (##structure-ref _b1253_ '2 std/srfi/113#sob '#f)))
          (error '"different comparators" _a1252_ _b1253_)
          '#!void)))
  (define std/srfi/113#check-element
    (lambda (_sob1249_ _element1250_)
      (std/srfi/128#comparator-check-type
       (##structure-ref _sob1249_ '2 std/srfi/113#sob '#f)
       _element1250_)))
  (define std/srfi/113#make-sob
    (lambda (_comparator1246_ _multi?1247_)
      (let ((__tmp4877 (std/srfi/125#srfi-make-hash-table _comparator1246_)))
        (declare (not safe))
        (##structure
         std/srfi/113#sob
         __tmp4877
         _comparator1246_
         _multi?1247_))))
  (define std/srfi/113#sob-copy
    (lambda (_sob1244_)
      (let ((__tmp4880
             (std/srfi/125#hash-table-copy__0
              (##structure-ref _sob1244_ '1 std/srfi/113#sob '#f)))
            (__tmp4879 (##structure-ref _sob1244_ '2 std/srfi/113#sob '#f))
            (__tmp4878 (##structure-ref _sob1244_ '3 std/srfi/113#sob '#f)))
        (declare (not safe))
        (##structure std/srfi/113#sob __tmp4880 __tmp4879 __tmp4878))))
  (define std/srfi/113#set-copy
    (lambda (_set1242_)
      (std/srfi/113#check-set _set1242_)
      (std/srfi/113#sob-copy _set1242_)))
  (define std/srfi/113#bag-copy
    (lambda (_bag1240_)
      (std/srfi/113#check-bag _bag1240_)
      (std/srfi/113#sob-copy _bag1240_)))
  (define std/srfi/113#sob-empty-copy
    (lambda (_sob1238_)
      (std/srfi/113#make-sob
       (##structure-ref _sob1238_ '2 std/srfi/113#sob '#f)
       (##structure-ref _sob1238_ '3 std/srfi/113#sob '#f))))
  (define std/srfi/113#set
    (lambda (_comparator1231_ . _elements1232_)
      (let ((_result1234_ (std/srfi/113#make-sob _comparator1231_ '#f)))
        (for-each
         (lambda (_x1236_)
           (std/srfi/113#sob-increment! _result1234_ _x1236_ '1))
         _elements1232_)
        _result1234_)))
  (define std/srfi/113#bag
    (lambda (_comparator1224_ . _elements1225_)
      (let ((_result1227_ (std/srfi/113#make-sob _comparator1224_ '#t)))
        (for-each
         (lambda (_x1229_)
           (std/srfi/113#sob-increment! _result1227_ _x1229_ '1))
         _elements1225_)
        _result1227_)))
  (define std/srfi/113#sob-unfold
    (lambda (_stop?1211_
             _mapper1212_
             _successor1213_
             _seed1214_
             _comparator1215_
             _multi?1216_)
      (let ((_result1218_
             (std/srfi/113#make-sob _comparator1215_ _multi?1216_)))
        (let _loop1220_ ((_seed1222_ _seed1214_))
          (if (_stop?1211_ _seed1222_)
              _result1218_
              (begin
                (std/srfi/113#sob-increment!
                 _result1218_
                 (_mapper1212_ _seed1222_)
                 '1)
                (_loop1220_ (_successor1213_ _seed1222_))))))))
  (define std/srfi/113#set-unfold
    (lambda (_continue?1205_
             _mapper1206_
             _successor1207_
             _seed1208_
             _comparator1209_)
      (std/srfi/113#sob-unfold
       _continue?1205_
       _mapper1206_
       _successor1207_
       _seed1208_
       _comparator1209_
       '#f)))
  (define std/srfi/113#bag-unfold
    (lambda (_continue?1199_
             _mapper1200_
             _successor1201_
             _seed1202_
             _comparator1203_)
      (std/srfi/113#sob-unfold
       _continue?1199_
       _mapper1200_
       _successor1201_
       _seed1202_
       _comparator1203_
       '#t)))
  (define std/srfi/113#sob-contains?
    (lambda (_sob1196_ _member1197_)
      (hash-key?
       (##structure-ref _sob1196_ '1 std/srfi/113#sob '#f)
       _member1197_)))
  (define std/srfi/113#set-contains?
    (lambda (_set1193_ _member1194_)
      (std/srfi/113#check-set _set1193_)
      (std/srfi/113#sob-contains? _set1193_ _member1194_)))
  (define std/srfi/113#bag-contains?
    (lambda (_bag1190_ _member1191_)
      (std/srfi/113#check-bag _bag1190_)
      (std/srfi/113#sob-contains? _bag1190_ _member1191_)))
  (define std/srfi/113#sob-empty?
    (lambda (_sob1188_)
      (= '0
         (table-length (##structure-ref _sob1188_ '1 std/srfi/113#sob '#f)))))
  (define std/srfi/113#set-empty?
    (lambda (_set1186_)
      (std/srfi/113#check-set _set1186_)
      (std/srfi/113#sob-empty? _set1186_)))
  (define std/srfi/113#bag-empty?
    (lambda (_bag1184_)
      (std/srfi/113#check-bag _bag1184_)
      (std/srfi/113#sob-empty? _bag1184_)))
  (define std/srfi/113#sob-half-disjoint?
    (lambda (_a1173_ _b1174_)
      (let ((_ha1176_ (##structure-ref _a1173_ '1 std/srfi/113#sob '#f))
            (_hb1177_ (##structure-ref _b1174_ '1 std/srfi/113#sob '#f)))
        (call-with-current-continuation
         (lambda (_return1179_)
           (table-for-each
            (lambda (_key1181_ _val1182_)
              (if (hash-key? _hb1177_ _key1181_) (_return1179_ '#f) '#!void))
            _ha1176_)
           '#t)))))
  (define std/srfi/113#set-disjoint?
    (lambda (_a1170_ _b1171_)
      (std/srfi/113#check-set _a1170_)
      (std/srfi/113#check-set _b1171_)
      (std/srfi/113#check-same-comparator _a1170_ _b1171_)
      (if (std/srfi/113#sob-half-disjoint? _a1170_ _b1171_)
          (std/srfi/113#sob-half-disjoint? _b1171_ _a1170_)
          '#f)))
  (define std/srfi/113#bag-disjoint?
    (lambda (_a1167_ _b1168_)
      (std/srfi/113#check-bag _a1167_)
      (std/srfi/113#check-bag _b1168_)
      (std/srfi/113#check-same-comparator _a1167_ _b1168_)
      (if (std/srfi/113#sob-half-disjoint? _a1167_ _b1168_)
          (std/srfi/113#sob-half-disjoint? _b1168_ _a1167_)
          '#f)))
  (define std/srfi/113#sob-member
    (lambda (_sob1153_ _element1154_ _default1155_)
      (letrec ((_same?1157_
                (lambda (_a1164_ _b1165_)
                  (std/srfi/128#=?
                   (##structure-ref _sob1153_ '2 std/srfi/113#sob '#f)
                   _a1164_
                   _b1165_))))
        (call-with-current-continuation
         (lambda (_return1159_)
           (table-for-each
            (lambda (_key1161_ _val1162_)
              (if (_same?1157_ _key1161_ _element1154_)
                  (_return1159_ _key1161_)
                  '#!void))
            (##structure-ref _sob1153_ '1 std/srfi/113#sob '#f))
           _default1155_)))))
  (define std/srfi/113#set-member
    (lambda (_set1149_ _element1150_ _default1151_)
      (std/srfi/113#check-set _set1149_)
      (std/srfi/113#sob-member _set1149_ _element1150_ _default1151_)))
  (define std/srfi/113#bag-member
    (lambda (_bag1145_ _element1146_ _default1147_)
      (std/srfi/113#check-bag _bag1145_)
      (std/srfi/113#sob-member _bag1145_ _element1146_ _default1147_)))
  (define std/srfi/113#set-element-comparator
    (lambda (_set1143_)
      (std/srfi/113#check-set _set1143_)
      (##structure-ref _set1143_ '2 std/srfi/113#sob '#f)))
  (define std/srfi/113#bag-element-comparator
    (lambda (_bag1141_)
      (std/srfi/113#check-bag _bag1141_)
      (##structure-ref _bag1141_ '2 std/srfi/113#sob '#f)))
  (define std/srfi/113#sob-increment!
    (lambda (_sob1133_ _element1134_ _count1135_)
      (std/srfi/113#check-element _sob1133_ _element1134_)
      (std/srfi/125#hash-table-update!/default
       (##structure-ref _sob1133_ '1 std/srfi/113#sob '#f)
       _element1134_
       (if (##structure-ref _sob1133_ '3 std/srfi/113#sob '#f)
           (lambda (_value1137_) (+ _value1137_ _count1135_))
           (lambda (_value1139_) '1))
       '0)))
  (define std/srfi/113#sob-decrement!
    (lambda (_sob1127_ _element1128_ _count1129_)
      (std/srfi/125#hash-table-update!/default
       (##structure-ref _sob1127_ '1 std/srfi/113#sob '#f)
       _element1128_
       (lambda (_value1131_) (- _value1131_ _count1129_))
       '0)))
  (define std/srfi/113#sob-cleanup!
    (lambda (_sob1121_)
      (let ((_ht1123_ (##structure-ref _sob1121_ '1 std/srfi/113#sob '#f)))
        (for-each
         (lambda (_key1125_) (table-set! _ht1123_ _key1125_))
         (std/srfi/113#nonpositive-keys _ht1123_))
        _sob1121_)))
  (define std/srfi/113#nonpositive-keys
    (lambda (_ht1114_)
      (let ((_result1116_ '()))
        (table-for-each
         (lambda (_key1118_ _value1119_)
           (if (<= _value1119_ '0)
               (set! _result1116_ (cons _key1118_ _result1116_))
               '#!void))
         _ht1114_)
        _result1116_)))
  (define std/srfi/113#bag-increment!
    (lambda (_bag1110_ _element1111_ _count1112_)
      (std/srfi/113#check-bag _bag1110_)
      (std/srfi/113#sob-increment! _bag1110_ _element1111_ _count1112_)
      _bag1110_))
  (define std/srfi/113#bag-decrement!
    (lambda (_bag1106_ _element1107_ _count1108_)
      (std/srfi/113#check-bag _bag1106_)
      (std/srfi/113#sob-decrement! _bag1106_ _element1107_ _count1108_)
      (std/srfi/113#sob-cleanup! _bag1106_)
      _bag1106_))
  (define std/srfi/113#sob-adjoin-all!
    (lambda (_sob1101_ _elements1102_)
      (for-each
       (lambda (_elem1104_)
         (std/srfi/113#sob-increment! _sob1101_ _elem1104_ '1))
       _elements1102_)))
  (define std/srfi/113#set-adjoin!
    (lambda (_set1098_ . _elements1099_)
      (std/srfi/113#check-set _set1098_)
      (std/srfi/113#sob-adjoin-all! _set1098_ _elements1099_)
      _set1098_))
  (define std/srfi/113#bag-adjoin!
    (lambda (_bag1095_ . _elements1096_)
      (std/srfi/113#check-bag _bag1095_)
      (std/srfi/113#sob-adjoin-all! _bag1095_ _elements1096_)
      _bag1095_))
  (define std/srfi/113#set-adjoin
    (lambda (_set1090_ . _elements1091_)
      (std/srfi/113#check-set _set1090_)
      (let ((_result1093_ (std/srfi/113#sob-copy _set1090_)))
        (std/srfi/113#sob-adjoin-all! _result1093_ _elements1091_)
        _result1093_)))
  (define std/srfi/113#bag-adjoin
    (lambda (_bag1085_ . _elements1086_)
      (std/srfi/113#check-bag _bag1085_)
      (let ((_result1088_ (std/srfi/113#sob-copy _bag1085_)))
        (std/srfi/113#sob-adjoin-all! _result1088_ _elements1086_)
        _result1088_)))
  (define std/srfi/113#sob-replace!
    (lambda (_sob1070_ _element1071_)
      (let* ((_comparator1073_
              (##structure-ref _sob1070_ '2 std/srfi/113#sob '#f))
             (_=1075_ (##direct-structure-ref
                       _comparator1073_
                       '2
                       std/srfi/128#comparator::t
                       '#f))
             (_ht1077_ (##structure-ref _sob1070_ '1 std/srfi/113#sob '#f)))
        (std/srfi/128#comparator-check-type _comparator1073_ _element1071_)
        (call-with-current-continuation
         (lambda (_return1080_)
           (table-for-each
            (lambda (_key1082_ _value1083_)
              (if (_=1075_ _key1082_ _element1071_)
                  (begin
                    (table-set! _ht1077_ _key1082_)
                    (table-set! _ht1077_ _element1071_ _value1083_)
                    (_return1080_ _sob1070_))
                  '#!void))
            _ht1077_)
           _sob1070_)))))
  (define std/srfi/113#set-replace!
    (lambda (_set1067_ _element1068_)
      (std/srfi/113#check-set _set1067_)
      (std/srfi/113#sob-replace! _set1067_ _element1068_)
      _set1067_))
  (define std/srfi/113#bag-replace!
    (lambda (_bag1064_ _element1065_)
      (std/srfi/113#check-bag _bag1064_)
      (std/srfi/113#sob-replace! _bag1064_ _element1065_)
      _bag1064_))
  (define std/srfi/113#set-replace
    (lambda (_set1059_ _element1060_)
      (std/srfi/113#check-set _set1059_)
      (let ((_result1062_ (std/srfi/113#sob-copy _set1059_)))
        (std/srfi/113#sob-replace! _result1062_ _element1060_)
        _result1062_)))
  (define std/srfi/113#bag-replace
    (lambda (_bag1054_ _element1055_)
      (std/srfi/113#check-bag _bag1054_)
      (let ((_result1057_ (std/srfi/113#sob-copy _bag1054_)))
        (std/srfi/113#sob-replace! _result1057_ _element1055_)
        _result1057_)))
  (define std/srfi/113#sob-delete-all!
    (lambda (_sob1049_ _elements1050_)
      (for-each
       (lambda (_element1052_)
         (std/srfi/113#sob-decrement! _sob1049_ _element1052_ '1))
       _elements1050_)
      (std/srfi/113#sob-cleanup! _sob1049_)
      _sob1049_))
  (define std/srfi/113#set-delete!
    (lambda (_set1046_ . _elements1047_)
      (std/srfi/113#check-set _set1046_)
      (std/srfi/113#sob-delete-all! _set1046_ _elements1047_)))
  (define std/srfi/113#bag-delete!
    (lambda (_bag1043_ . _elements1044_)
      (std/srfi/113#check-bag _bag1043_)
      (std/srfi/113#sob-delete-all! _bag1043_ _elements1044_)))
  (define std/srfi/113#set-delete-all!
    (lambda (_set1040_ _elements1041_)
      (std/srfi/113#check-set _set1040_)
      (std/srfi/113#sob-delete-all! _set1040_ _elements1041_)))
  (define std/srfi/113#bag-delete-all!
    (lambda (_bag1037_ _elements1038_)
      (std/srfi/113#check-bag _bag1037_)
      (std/srfi/113#sob-delete-all! _bag1037_ _elements1038_)))
  (define std/srfi/113#set-delete
    (lambda (_set1034_ . _elements1035_)
      (std/srfi/113#check-set _set1034_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _set1034_)
       _elements1035_)))
  (define std/srfi/113#bag-delete
    (lambda (_bag1031_ . _elements1032_)
      (std/srfi/113#check-bag _bag1031_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _bag1031_)
       _elements1032_)))
  (define std/srfi/113#set-delete-all
    (lambda (_set1028_ _elements1029_)
      (std/srfi/113#check-set _set1028_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _set1028_)
       _elements1029_)))
  (define std/srfi/113#bag-delete-all
    (lambda (_bag1025_ _elements1026_)
      (std/srfi/113#check-bag _bag1025_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _bag1025_)
       _elements1026_)))
  (define std/srfi/113#missing (string-copy '"missing"))
  (define std/srfi/113#sob-search!
    (lambda (_sob1004_ _element1005_ _failure1006_ _success1007_)
      (letrec ((_insert1009_
                (lambda (_obj1023_)
                  (std/srfi/113#sob-increment! _sob1004_ _element1005_ '1)
                  (values _sob1004_ _obj1023_)))
               (_ignore1010_ (lambda (_obj1021_) (values _sob1004_ _obj1021_)))
               (_update1011_
                (lambda (_new-elem1018_ _obj1019_)
                  (std/srfi/113#sob-decrement! _sob1004_ _element1005_ '1)
                  (std/srfi/113#sob-increment! _sob1004_ _new-elem1018_ '1)
                  (values (std/srfi/113#sob-cleanup! _sob1004_) _obj1019_)))
               (_remove1012_
                (lambda (_obj1016_)
                  (std/srfi/113#sob-decrement! _sob1004_ _element1005_ '1)
                  (values (std/srfi/113#sob-cleanup! _sob1004_) _obj1016_))))
        (let ((_true-element1014_
               (std/srfi/113#sob-member
                _sob1004_
                _element1005_
                std/srfi/113#missing)))
          (if (eq? _true-element1014_ std/srfi/113#missing)
              (_failure1006_ _insert1009_ _ignore1010_)
              (_success1007_ _true-element1014_ _update1011_ _remove1012_))))))
  (define std/srfi/113#set-search!
    (lambda (_set999_ _element1000_ _failure1001_ _success1002_)
      (std/srfi/113#check-set _set999_)
      (std/srfi/113#sob-search!
       _set999_
       _element1000_
       _failure1001_
       _success1002_)))
  (define std/srfi/113#bag-search!
    (lambda (_bag994_ _element995_ _failure996_ _success997_)
      (std/srfi/113#check-bag _bag994_)
      (std/srfi/113#sob-search!
       _bag994_
       _element995_
       _failure996_
       _success997_)))
  (define std/srfi/113#sob-size
    (lambda (_sob987_)
      (if (##structure-ref _sob987_ '3 std/srfi/113#sob '#f)
          (let ((_result989_ '0))
            (table-for-each
             (lambda (_elem991_ _count992_)
               (set! _result989_ (+ _count992_ _result989_)))
             (##structure-ref _sob987_ '1 std/srfi/113#sob '#f))
            _result989_)
          (table-length (##structure-ref _sob987_ '1 std/srfi/113#sob '#f)))))
  (define std/srfi/113#set-size
    (lambda (_set985_)
      (std/srfi/113#check-set _set985_)
      (std/srfi/113#sob-size _set985_)))
  (define std/srfi/113#bag-size
    (lambda (_bag983_)
      (std/srfi/113#check-bag _bag983_)
      (std/srfi/113#sob-size _bag983_)))
  (define std/srfi/113#sob-find
    (lambda (_pred974_ _sob975_ _failure976_)
      (call-with-current-continuation
       (lambda (_return978_)
         (table-for-each
          (lambda (_key980_ _value981_)
            (if (_pred974_ _key980_) (_return978_ _key980_) '#!void))
          (##structure-ref _sob975_ '1 std/srfi/113#sob '#f))
         (_failure976_)))))
  (define std/srfi/113#set-find
    (lambda (_pred970_ _set971_ _failure972_)
      (std/srfi/113#check-set _set971_)
      (std/srfi/113#sob-find _pred970_ _set971_ _failure972_)))
  (define std/srfi/113#bag-find
    (lambda (_pred966_ _bag967_ _failure968_)
      (std/srfi/113#check-bag _bag967_)
      (std/srfi/113#sob-find _pred966_ _bag967_ _failure968_)))
  (define std/srfi/113#sob-count
    (lambda (_pred960_ _sob961_)
      (std/srfi/113#sob-fold
       (lambda (_elem963_ _total964_)
         (if (_pred960_ _elem963_) (+ _total964_ '1) _total964_))
       '0
       _sob961_)))
  (define std/srfi/113#set-count
    (lambda (_pred957_ _set958_)
      (std/srfi/113#check-set _set958_)
      (std/srfi/113#sob-count _pred957_ _set958_)))
  (define std/srfi/113#bag-count
    (lambda (_pred954_ _bag955_)
      (std/srfi/113#check-bag _bag955_)
      (std/srfi/113#sob-count _pred954_ _bag955_)))
  (define std/srfi/113#sob-any?
    (lambda (_pred946_ _sob947_)
      (call-with-current-continuation
       (lambda (_return949_)
         (table-for-each
          (lambda (_elem951_ _value952_)
            (if (_pred946_ _elem951_) (_return949_ '#t) '#!void))
          (##structure-ref _sob947_ '1 std/srfi/113#sob '#f))
         '#f))))
  (define std/srfi/113#set-any?
    (lambda (_pred943_ _set944_)
      (std/srfi/113#check-set _set944_)
      (std/srfi/113#sob-any? _pred943_ _set944_)))
  (define std/srfi/113#bag-any?
    (lambda (_pred940_ _bag941_)
      (std/srfi/113#check-bag _bag941_)
      (std/srfi/113#sob-any? _pred940_ _bag941_)))
  (define std/srfi/113#sob-every?
    (lambda (_pred932_ _sob933_)
      (call-with-current-continuation
       (lambda (_return935_)
         (table-for-each
          (lambda (_elem937_ _value938_)
            (if (not (_pred932_ _elem937_)) (_return935_ '#f) '#!void))
          (##structure-ref _sob933_ '1 std/srfi/113#sob '#f))
         '#t))))
  (define std/srfi/113#set-every?
    (lambda (_pred929_ _set930_)
      (std/srfi/113#check-set _set930_)
      (std/srfi/113#sob-every? _pred929_ _set930_)))
  (define std/srfi/113#bag-every?
    (lambda (_pred926_ _bag927_)
      (std/srfi/113#check-bag _bag927_)
      (std/srfi/113#sob-every? _pred926_ _bag927_)))
  (define std/srfi/113#do-n-times
    (lambda (_cmd919_ _n920_)
      (let _loop922_ ((_n924_ _n920_))
        (if (> _n924_ '0)
            (begin (_cmd919_) (_loop922_ (- _n924_ '1)))
            '#!void))))
  (define std/srfi/113#sob-for-each
    (lambda (_proc912_ _sob913_)
      (table-for-each
       (lambda (_key915_ _value916_)
         (std/srfi/113#do-n-times (lambda () (_proc912_ _key915_)) _value916_))
       (##structure-ref _sob913_ '1 std/srfi/113#sob '#f))))
  (define std/srfi/113#set-for-each
    (lambda (_proc909_ _set910_)
      (std/srfi/113#check-set _set910_)
      (std/srfi/113#sob-for-each _proc909_ _set910_)))
  (define std/srfi/113#bag-for-each
    (lambda (_proc906_ _bag907_)
      (std/srfi/113#check-bag _bag907_)
      (std/srfi/113#sob-for-each _proc906_ _bag907_)))
  (define std/srfi/113#sob-map
    (lambda (_comparator897_ _proc898_ _sob899_)
      (let ((_result901_
             (std/srfi/113#make-sob
              _comparator897_
              (##structure-ref _sob899_ '3 std/srfi/113#sob '#f))))
        (table-for-each
         (lambda (_key903_ _value904_)
           (std/srfi/113#sob-increment!
            _result901_
            (_proc898_ _key903_)
            _value904_))
         (##structure-ref _sob899_ '1 std/srfi/113#sob '#f))
        _result901_)))
  (define std/srfi/113#set-map
    (lambda (_comparator893_ _proc894_ _set895_)
      (std/srfi/113#check-set _set895_)
      (std/srfi/113#sob-map _comparator893_ _proc894_ _set895_)))
  (define std/srfi/113#bag-map
    (lambda (_comparator889_ _proc890_ _bag891_)
      (std/srfi/113#check-bag _bag891_)
      (std/srfi/113#sob-map _comparator889_ _proc890_ _bag891_)))
  (define std/srfi/113#sob-fold
    (lambda (_proc881_ _nil882_ _sob883_)
      (let ((_result885_ _nil882_))
        (std/srfi/113#sob-for-each
         (lambda (_elem887_)
           (set! _result885_ (_proc881_ _elem887_ _result885_)))
         _sob883_)
        _result885_)))
  (define std/srfi/113#set-fold
    (lambda (_proc877_ _nil878_ _set879_)
      (std/srfi/113#check-set _set879_)
      (std/srfi/113#sob-fold _proc877_ _nil878_ _set879_)))
  (define std/srfi/113#bag-fold
    (lambda (_proc873_ _nil874_ _bag875_)
      (std/srfi/113#check-bag _bag875_)
      (std/srfi/113#sob-fold _proc873_ _nil874_ _bag875_)))
  (define std/srfi/113#sob-filter
    (lambda (_pred865_ _sob866_)
      (let ((_result868_ (std/srfi/113#sob-empty-copy _sob866_)))
        (table-for-each
         (lambda (_key870_ _value871_)
           (if (_pred865_ _key870_)
               (std/srfi/113#sob-increment! _result868_ _key870_ _value871_)
               '#!void))
         (##structure-ref _sob866_ '1 std/srfi/113#sob '#f))
        _result868_)))
  (define std/srfi/113#set-filter
    (lambda (_pred862_ _set863_)
      (std/srfi/113#check-set _set863_)
      (std/srfi/113#sob-filter _pred862_ _set863_)))
  (define std/srfi/113#bag-filter
    (lambda (_pred859_ _bag860_)
      (std/srfi/113#check-bag _bag860_)
      (std/srfi/113#sob-filter _pred859_ _bag860_)))
  (define std/srfi/113#set-remove
    (lambda (_pred854_ _set855_)
      (std/srfi/113#check-set _set855_)
      (std/srfi/113#sob-filter
       (lambda (_x857_) (not (_pred854_ _x857_)))
       _set855_)))
  (define std/srfi/113#bag-remove
    (lambda (_pred849_ _bag850_)
      (std/srfi/113#check-bag _bag850_)
      (std/srfi/113#sob-filter
       (lambda (_x852_) (not (_pred849_ _x852_)))
       _bag850_)))
  (define std/srfi/113#sob-filter!
    (lambda (_pred843_ _sob844_)
      (table-for-each
       (lambda (_key846_ _value847_)
         (if (not (_pred843_ _key846_))
             (std/srfi/113#sob-decrement! _sob844_ _key846_ _value847_)
             '#!void))
       (##structure-ref _sob844_ '1 std/srfi/113#sob '#f))
      (std/srfi/113#sob-cleanup! _sob844_)))
  (define std/srfi/113#set-filter!
    (lambda (_pred840_ _set841_)
      (std/srfi/113#check-set _set841_)
      (std/srfi/113#sob-filter! _pred840_ _set841_)))
  (define std/srfi/113#bag-filter!
    (lambda (_pred837_ _bag838_)
      (std/srfi/113#check-bag _bag838_)
      (std/srfi/113#sob-filter! _pred837_ _bag838_)))
  (define std/srfi/113#set-remove!
    (lambda (_pred832_ _set833_)
      (std/srfi/113#check-set _set833_)
      (std/srfi/113#sob-filter!
       (lambda (_x835_) (not (_pred832_ _x835_)))
       _set833_)))
  (define std/srfi/113#bag-remove!
    (lambda (_pred827_ _bag828_)
      (std/srfi/113#check-bag _bag828_)
      (std/srfi/113#sob-filter!
       (lambda (_x830_) (not (_pred827_ _x830_)))
       _bag828_)))
  (define std/srfi/113#sob-partition
    (lambda (_pred818_ _sob819_)
      (let ((_res1821_ (std/srfi/113#sob-empty-copy _sob819_))
            (_res2822_ (std/srfi/113#sob-empty-copy _sob819_)))
        (table-for-each
         (lambda (_key824_ _value825_)
           (if (_pred818_ _key824_)
               (std/srfi/113#sob-increment! _res1821_ _key824_ _value825_)
               (std/srfi/113#sob-increment! _res2822_ _key824_ _value825_)))
         (##structure-ref _sob819_ '1 std/srfi/113#sob '#f))
        (values _res1821_ _res2822_))))
  (define std/srfi/113#set-partition
    (lambda (_pred815_ _set816_)
      (std/srfi/113#check-set _set816_)
      (std/srfi/113#sob-partition _pred815_ _set816_)))
  (define std/srfi/113#bag-partition
    (lambda (_pred812_ _bag813_)
      (std/srfi/113#check-bag _bag813_)
      (std/srfi/113#sob-partition _pred812_ _bag813_)))
  (define std/srfi/113#sob-partition!
    (lambda (_pred804_ _sob805_)
      (let ((_result807_ (std/srfi/113#sob-empty-copy _sob805_)))
        (table-for-each
         (lambda (_key809_ _value810_)
           (if (not (_pred804_ _key809_))
               (begin
                 (std/srfi/113#sob-decrement! _sob805_ _key809_ _value810_)
                 (std/srfi/113#sob-increment! _result807_ _key809_ _value810_))
               '#!void))
         (##structure-ref _sob805_ '1 std/srfi/113#sob '#f))
        (values (std/srfi/113#sob-cleanup! _sob805_) _result807_))))
  (define std/srfi/113#set-partition!
    (lambda (_pred801_ _set802_)
      (std/srfi/113#check-set _set802_)
      (std/srfi/113#sob-partition! _pred801_ _set802_)))
  (define std/srfi/113#bag-partition!
    (lambda (_pred798_ _bag799_)
      (std/srfi/113#check-bag _bag799_)
      (std/srfi/113#sob-partition! _pred798_ _bag799_)))
  (define std/srfi/113#sob->list
    (lambda (_sob793_)
      (std/srfi/113#sob-fold
       (lambda (_elem795_ _list796_) (cons _elem795_ _list796_))
       '()
       _sob793_)))
  (define std/srfi/113#set->list
    (lambda (_set791_)
      (std/srfi/113#check-set _set791_)
      (std/srfi/113#sob->list _set791_)))
  (define std/srfi/113#bag->list
    (lambda (_bag789_)
      (std/srfi/113#check-bag _bag789_)
      (std/srfi/113#sob->list _bag789_)))
  (define std/srfi/113#list->sob!
    (lambda (_sob784_ _list785_)
      (for-each
       (lambda (_elem787_) (std/srfi/113#sob-increment! _sob784_ _elem787_ '1))
       _list785_)
      _sob784_))
  (define std/srfi/113#list->set
    (lambda (_comparator781_ _list782_)
      (std/srfi/113#list->sob!
       (std/srfi/113#make-sob _comparator781_ '#f)
       _list782_)))
  (define std/srfi/113#list->bag
    (lambda (_comparator778_ _list779_)
      (std/srfi/113#list->sob!
       (std/srfi/113#make-sob _comparator778_ '#t)
       _list779_)))
  (define std/srfi/113#list->set!
    (lambda (_set775_ _list776_)
      (std/srfi/113#check-set _set775_)
      (std/srfi/113#list->sob! _set775_ _list776_)))
  (define std/srfi/113#list->bag!
    (lambda (_bag772_ _list773_)
      (std/srfi/113#check-bag _bag772_)
      (std/srfi/113#list->sob! _bag772_ _list773_)))
  (define std/srfi/113#sob=?__0 (lambda (_sob763_) '#t))
  (define std/srfi/113#sob=?__2
    (lambda (_sob1768_ _sob2769_ . _sobs770_)
      (if (std/srfi/113#dyadic-sob=? _sob1768_ _sob2769_)
          (apply std/srfi/113#sob=? _sob2769_ _sobs770_)
          '#f)))
  (define std/srfi/113#sob=?
    (lambda _g4882_
      (let ((_g4881_ (let () (declare (not safe)) (##length _g4882_))))
        (cond ((let () (declare (not safe)) (##fx= _g4881_ 1))
               (apply std/srfi/113#sob=?__0 _g4882_))
              ((let () (declare (not safe)) (##fx= _g4881_ 2))
               (apply std/srfi/113#dyadic-sob=? _g4882_))
              ((let () (declare (not safe)) (##fx>= _g4881_ 2))
               (apply std/srfi/113#sob=?__2 _g4882_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob=?
                _g4882_))))))
  (define std/srfi/113#set=?
    (lambda _sets761_
      (std/srfi/113#check-all-sets _sets761_)
      (apply std/srfi/113#sob=? _sets761_)))
  (define std/srfi/113#bag=?
    (lambda _bags759_
      (std/srfi/113#check-all-bags _bags759_)
      (apply std/srfi/113#sob=? _bags759_)))
  (define std/srfi/113#dyadic-sob=?
    (lambda (_sob1748_ _sob2749_)
      (call-with-current-continuation
       (lambda (_return751_)
         (let ((_ht1753_ (##structure-ref _sob1748_ '1 std/srfi/113#sob '#f))
               (_ht2754_ (##structure-ref _sob2749_ '1 std/srfi/113#sob '#f)))
           (if (not (= (table-length _ht1753_) (table-length _ht2754_)))
               (_return751_ '#f)
               '#!void)
           (table-for-each
            (lambda (_key756_ _value757_)
              (if (not (= _value757_ (table-ref _ht2754_ _key756_ '0)))
                  (_return751_ '#f)
                  '#!void))
            _ht1753_))
         '#t))))
  (define std/srfi/113#sob<=?__0 (lambda (_sob739_) '#t))
  (define std/srfi/113#sob<=?__2
    (lambda (_sob1744_ _sob2745_ . _sobs746_)
      (if (std/srfi/113#dyadic-sob<=? _sob1744_ _sob2745_)
          (apply std/srfi/113#sob<=? _sob2745_ _sobs746_)
          '#f)))
  (define std/srfi/113#sob<=?
    (lambda _g4884_
      (let ((_g4883_ (let () (declare (not safe)) (##length _g4884_))))
        (cond ((let () (declare (not safe)) (##fx= _g4883_ 1))
               (apply std/srfi/113#sob<=?__0 _g4884_))
              ((let () (declare (not safe)) (##fx= _g4883_ 2))
               (apply std/srfi/113#dyadic-sob<=? _g4884_))
              ((let () (declare (not safe)) (##fx>= _g4883_ 2))
               (apply std/srfi/113#sob<=?__2 _g4884_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob<=?
                _g4884_))))))
  (define std/srfi/113#set<=?
    (lambda _sets737_
      (std/srfi/113#check-all-sets _sets737_)
      (apply std/srfi/113#sob<=? _sets737_)))
  (define std/srfi/113#bag<=?
    (lambda _bags735_
      (std/srfi/113#check-all-bags _bags735_)
      (apply std/srfi/113#sob<=? _bags735_)))
  (define std/srfi/113#dyadic-sob<=?
    (lambda (_sob1724_ _sob2725_)
      (call-with-current-continuation
       (lambda (_return727_)
         (let ((_ht1729_ (##structure-ref _sob1724_ '1 std/srfi/113#sob '#f))
               (_ht2730_ (##structure-ref _sob2725_ '1 std/srfi/113#sob '#f)))
           (if (not (<= (table-length _ht1729_) (table-length _ht2730_)))
               (_return727_ '#f)
               '#!void)
           (table-for-each
            (lambda (_key732_ _value733_)
              (if (not (<= _value733_ (table-ref _ht2730_ _key732_ '0)))
                  (_return727_ '#f)
                  '#!void))
            _ht1729_))
         '#t))))
  (define std/srfi/113#sob<?__0 (lambda (_sob715_) '#t))
  (define std/srfi/113#sob<?__2
    (lambda (_sob1720_ _sob2721_ . _sobs722_)
      (if (std/srfi/113#dyadic-sob<? _sob1720_ _sob2721_)
          (apply std/srfi/113#sob<? _sob2721_ _sobs722_)
          '#f)))
  (define std/srfi/113#sob<?
    (lambda _g4886_
      (let ((_g4885_ (let () (declare (not safe)) (##length _g4886_))))
        (cond ((let () (declare (not safe)) (##fx= _g4885_ 1))
               (apply std/srfi/113#sob<?__0 _g4886_))
              ((let () (declare (not safe)) (##fx= _g4885_ 2))
               (apply std/srfi/113#dyadic-sob<? _g4886_))
              ((let () (declare (not safe)) (##fx>= _g4885_ 2))
               (apply std/srfi/113#sob<?__2 _g4886_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob<?
                _g4886_))))))
  (define std/srfi/113#set<?
    (lambda _sets713_
      (std/srfi/113#check-all-sets _sets713_)
      (apply std/srfi/113#sob<? _sets713_)))
  (define std/srfi/113#bag<?
    (lambda _bags711_
      (std/srfi/113#check-all-bags _bags711_)
      (apply std/srfi/113#sob<? _bags711_)))
  (define std/srfi/113#dyadic-sob<?
    (lambda (_sob1696_ _sob2697_)
      (call-with-current-continuation
       (lambda (_return699_)
         (let ((_ht1701_ (##structure-ref _sob1696_ '1 std/srfi/113#sob '#f))
               (_ht2702_ (##structure-ref _sob2697_ '1 std/srfi/113#sob '#f)))
           (let ((_smaller-count704_
                  (if (< (table-length _ht1701_) (table-length _ht2702_))
                      '1
                      (if (= (table-length _ht1701_) (table-length _ht2702_))
                          '0
                          (_return699_ '#f)))))
             (table-for-each
              (lambda (_key706_ _value707_)
                (let ((_value2709_ (table-ref _ht2702_ _key706_ '0)))
                  (if (not (<= _value707_ _value2709_))
                      (_return699_ '#f)
                      (if (< _value707_ _value2709_)
                          (set! _smaller-count704_ (+ _smaller-count704_ '1))
                          '#!void))))
              _ht1701_)
             (positive? _smaller-count704_)))))))
  (define std/srfi/113#sob>?__0 (lambda (_sob687_) '#t))
  (define std/srfi/113#sob>?__2
    (lambda (_sob1692_ _sob2693_ . _sobs694_)
      (if (std/srfi/113#dyadic-sob>? _sob1692_ _sob2693_)
          (apply std/srfi/113#sob>? _sob2693_ _sobs694_)
          '#f)))
  (define std/srfi/113#sob>?
    (lambda _g4888_
      (let ((_g4887_ (let () (declare (not safe)) (##length _g4888_))))
        (cond ((let () (declare (not safe)) (##fx= _g4887_ 1))
               (apply std/srfi/113#sob>?__0 _g4888_))
              ((let () (declare (not safe)) (##fx= _g4887_ 2))
               (apply std/srfi/113#dyadic-sob>? _g4888_))
              ((let () (declare (not safe)) (##fx>= _g4887_ 2))
               (apply std/srfi/113#sob>?__2 _g4888_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob>?
                _g4888_))))))
  (define std/srfi/113#set>?
    (lambda _sets685_
      (std/srfi/113#check-all-sets _sets685_)
      (apply std/srfi/113#sob>? _sets685_)))
  (define std/srfi/113#bag>?
    (lambda _bags683_
      (std/srfi/113#check-all-bags _bags683_)
      (apply std/srfi/113#sob>? _bags683_)))
  (define std/srfi/113#dyadic-sob>?
    (lambda (_sob1680_ _sob2681_)
      (std/srfi/113#dyadic-sob<? _sob2681_ _sob1680_)))
  (define std/srfi/113#sob>=?__0 (lambda (_sob671_) '#t))
  (define std/srfi/113#sob>=?__2
    (lambda (_sob1676_ _sob2677_ . _sobs678_)
      (if (std/srfi/113#dyadic-sob>=? _sob1676_ _sob2677_)
          (apply std/srfi/113#sob>=? _sob2677_ _sobs678_)
          '#f)))
  (define std/srfi/113#sob>=?
    (lambda _g4890_
      (let ((_g4889_ (let () (declare (not safe)) (##length _g4890_))))
        (cond ((let () (declare (not safe)) (##fx= _g4889_ 1))
               (apply std/srfi/113#sob>=?__0 _g4890_))
              ((let () (declare (not safe)) (##fx= _g4889_ 2))
               (apply std/srfi/113#dyadic-sob>=? _g4890_))
              ((let () (declare (not safe)) (##fx>= _g4889_ 2))
               (apply std/srfi/113#sob>=?__2 _g4890_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob>=?
                _g4890_))))))
  (define std/srfi/113#set>=?
    (lambda _sets669_
      (std/srfi/113#check-all-sets _sets669_)
      (apply std/srfi/113#sob>=? _sets669_)))
  (define std/srfi/113#bag>=?
    (lambda _bags667_
      (std/srfi/113#check-all-bags _bags667_)
      (apply std/srfi/113#sob>=? _bags667_)))
  (define std/srfi/113#dyadic-sob>=?
    (lambda (_sob1664_ _sob2665_)
      (std/srfi/113#dyadic-sob<=? _sob2665_ _sob1664_)))
  (define std/srfi/113#max-one
    (lambda (_n661_ _multi?662_)
      (if _multi?662_ _n661_ (if (> _n661_ '1) '1 _n661_))))
  (define std/srfi/113#sob-union
    (lambda (_sob1654_ . _sobs655_)
      (if (null? _sobs655_)
          _sob1654_
          (let ((_result657_ (std/srfi/113#sob-empty-copy _sob1654_)))
            (std/srfi/113#dyadic-sob-union!
             _result657_
             _sob1654_
             (car _sobs655_))
            (for-each
             (lambda (_sob659_)
               (std/srfi/113#dyadic-sob-union!
                _result657_
                _result657_
                _sob659_))
             (cdr _sobs655_))
            _result657_))))
  (define std/srfi/113#dyadic-sob-union!
    (lambda (_result636_ _sob1637_ _sob2638_)
      (let ((_sob1-ht640_ (##structure-ref _sob1637_ '1 std/srfi/113#sob '#f))
            (_sob2-ht641_ (##structure-ref _sob2638_ '1 std/srfi/113#sob '#f))
            (_result-ht642_
             (##structure-ref _result636_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key644_ _value1645_)
           (let ((_value2647_ (table-ref _sob2-ht641_ _key644_ '0)))
             (table-set!
              _result-ht642_
              _key644_
              (max _value1645_ _value2647_))))
         _sob1-ht640_)
        (table-for-each
         (lambda (_key649_ _value2650_)
           (let ((_value1652_ (table-ref _sob1-ht640_ _key649_ '0)))
             (if (= _value1652_ '0)
                 (table-set! _result-ht642_ _key649_ _value2650_)
                 '#!void)))
         _sob2-ht641_))))
  (define std/srfi/113#set-union
    (lambda _sets634_
      (std/srfi/113#check-all-sets _sets634_)
      (apply std/srfi/113#sob-union _sets634_)))
  (define std/srfi/113#bag-union
    (lambda _bags632_
      (std/srfi/113#check-all-bags _bags632_)
      (apply std/srfi/113#sob-union _bags632_)))
  (define std/srfi/113#sob-union!
    (lambda (_sob1627_ . _sobs628_)
      (for-each
       (lambda (_sob630_)
         (std/srfi/113#dyadic-sob-union! _sob1627_ _sob1627_ _sob630_))
       _sobs628_)
      _sob1627_))
  (define std/srfi/113#set-union!
    (lambda _sets625_
      (std/srfi/113#check-all-sets _sets625_)
      (apply std/srfi/113#sob-union! _sets625_)))
  (define std/srfi/113#bag-union!
    (lambda _bags623_
      (std/srfi/113#check-all-bags _bags623_)
      (apply std/srfi/113#sob-union! _bags623_)))
  (define std/srfi/113#sob-intersection
    (lambda (_sob1616_ . _sobs617_)
      (if (null? _sobs617_)
          _sob1616_
          (let ((_result619_ (std/srfi/113#sob-empty-copy _sob1616_)))
            (std/srfi/113#dyadic-sob-intersection!
             _result619_
             _sob1616_
             (car _sobs617_))
            (for-each
             (lambda (_sob621_)
               (std/srfi/113#dyadic-sob-intersection!
                _result619_
                _result619_
                _sob621_))
             (cdr _sobs617_))
            (std/srfi/113#sob-cleanup! _result619_)))))
  (define std/srfi/113#dyadic-sob-intersection!
    (lambda (_result603_ _sob1604_ _sob2605_)
      (let ((_sob1-ht607_ (##structure-ref _sob1604_ '1 std/srfi/113#sob '#f))
            (_sob2-ht608_ (##structure-ref _sob2605_ '1 std/srfi/113#sob '#f))
            (_result-ht609_
             (##structure-ref _result603_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key611_ _value1612_)
           (let ((_value2614_ (table-ref _sob2-ht608_ _key611_ '0)))
             (table-set!
              _result-ht609_
              _key611_
              (min _value1612_ _value2614_))))
         _sob1-ht607_))))
  (define std/srfi/113#set-intersection
    (lambda _sets601_
      (std/srfi/113#check-all-sets _sets601_)
      (apply std/srfi/113#sob-intersection _sets601_)))
  (define std/srfi/113#bag-intersection
    (lambda _bags599_
      (std/srfi/113#check-all-bags _bags599_)
      (apply std/srfi/113#sob-intersection _bags599_)))
  (define std/srfi/113#sob-intersection!
    (lambda (_sob1594_ . _sobs595_)
      (for-each
       (lambda (_sob597_)
         (std/srfi/113#dyadic-sob-intersection! _sob1594_ _sob1594_ _sob597_))
       _sobs595_)
      (std/srfi/113#sob-cleanup! _sob1594_)))
  (define std/srfi/113#set-intersection!
    (lambda _sets592_
      (std/srfi/113#check-all-sets _sets592_)
      (apply std/srfi/113#sob-intersection! _sets592_)))
  (define std/srfi/113#bag-intersection!
    (lambda _bags590_
      (std/srfi/113#check-all-bags _bags590_)
      (apply std/srfi/113#sob-intersection! _bags590_)))
  (define std/srfi/113#sob-difference
    (lambda (_sob1583_ . _sobs584_)
      (if (null? _sobs584_)
          _sob1583_
          (let ((_result586_ (std/srfi/113#sob-empty-copy _sob1583_)))
            (std/srfi/113#dyadic-sob-difference!
             _result586_
             _sob1583_
             (car _sobs584_))
            (for-each
             (lambda (_sob588_)
               (std/srfi/113#dyadic-sob-difference!
                _result586_
                _result586_
                _sob588_))
             (cdr _sobs584_))
            (std/srfi/113#sob-cleanup! _result586_)))))
  (define std/srfi/113#dyadic-sob-difference!
    (lambda (_result570_ _sob1571_ _sob2572_)
      (let ((_sob1-ht574_ (##structure-ref _sob1571_ '1 std/srfi/113#sob '#f))
            (_sob2-ht575_ (##structure-ref _sob2572_ '1 std/srfi/113#sob '#f))
            (_result-ht576_
             (##structure-ref _result570_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key578_ _value1579_)
           (let ((_value2581_ (table-ref _sob2-ht575_ _key578_ '0)))
             (table-set! _result-ht576_ _key578_ (- _value1579_ _value2581_))))
         _sob1-ht574_))))
  (define std/srfi/113#set-difference
    (lambda _sets568_
      (std/srfi/113#check-all-sets _sets568_)
      (apply std/srfi/113#sob-difference _sets568_)))
  (define std/srfi/113#bag-difference
    (lambda _bags566_
      (std/srfi/113#check-all-bags _bags566_)
      (apply std/srfi/113#sob-difference _bags566_)))
  (define std/srfi/113#sob-difference!
    (lambda (_sob1561_ . _sobs562_)
      (for-each
       (lambda (_sob564_)
         (std/srfi/113#dyadic-sob-difference! _sob1561_ _sob1561_ _sob564_))
       _sobs562_)
      (std/srfi/113#sob-cleanup! _sob1561_)))
  (define std/srfi/113#set-difference!
    (lambda _sets559_
      (std/srfi/113#check-all-sets _sets559_)
      (apply std/srfi/113#sob-difference! _sets559_)))
  (define std/srfi/113#bag-difference!
    (lambda _bags557_
      (std/srfi/113#check-all-bags _bags557_)
      (apply std/srfi/113#sob-difference! _bags557_)))
  (define std/srfi/113#sob-sum
    (lambda (_sob1550_ . _sobs551_)
      (if (null? _sobs551_)
          _sob1550_
          (let ((_result553_ (std/srfi/113#sob-empty-copy _sob1550_)))
            (std/srfi/113#dyadic-sob-sum!
             _result553_
             _sob1550_
             (car _sobs551_))
            (for-each
             (lambda (_sob555_)
               (std/srfi/113#dyadic-sob-sum! _result553_ _result553_ _sob555_))
             (cdr _sobs551_))
            _result553_))))
  (define std/srfi/113#dyadic-sob-sum!
    (lambda (_result532_ _sob1533_ _sob2534_)
      (let ((_sob1-ht536_ (##structure-ref _sob1533_ '1 std/srfi/113#sob '#f))
            (_sob2-ht537_ (##structure-ref _sob2534_ '1 std/srfi/113#sob '#f))
            (_result-ht538_
             (##structure-ref _result532_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key540_ _value1541_)
           (let ((_value2543_ (table-ref _sob2-ht537_ _key540_ '0)))
             (table-set! _result-ht538_ _key540_ (+ _value1541_ _value2543_))))
         _sob1-ht536_)
        (table-for-each
         (lambda (_key545_ _value2546_)
           (let ((_value1548_ (table-ref _sob1-ht536_ _key545_ '0)))
             (if (= _value1548_ '0)
                 (table-set! _result-ht538_ _key545_ _value2546_)
                 '#!void)))
         _sob2-ht537_))))
  (define std/srfi/113#bag-sum
    (lambda _bags530_
      (std/srfi/113#check-all-bags _bags530_)
      (apply std/srfi/113#sob-sum _bags530_)))
  (define std/srfi/113#sob-sum!
    (lambda (_sob1525_ . _sobs526_)
      (for-each
       (lambda (_sob528_)
         (std/srfi/113#dyadic-sob-sum! _sob1525_ _sob1525_ _sob528_))
       _sobs526_)
      _sob1525_))
  (define std/srfi/113#bag-sum!
    (lambda _bags523_
      (std/srfi/113#check-all-bags _bags523_)
      (apply std/srfi/113#sob-sum! _bags523_)))
  (define std/srfi/113#sob-xor!
    (lambda (_result505_ _sob1506_ _sob2507_)
      (let ((_sob1-ht509_ (##structure-ref _sob1506_ '1 std/srfi/113#sob '#f))
            (_sob2-ht510_ (##structure-ref _sob2507_ '1 std/srfi/113#sob '#f))
            (_result-ht511_
             (##structure-ref _result505_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key513_ _value2514_)
           (let ((_value1516_ (table-ref _sob1-ht509_ _key513_ '0)))
             (if (= _value1516_ '0)
                 (table-set! _result-ht511_ _key513_ _value2514_)
                 '#!void)))
         _sob2-ht510_)
        (table-for-each
         (lambda (_key518_ _value1519_)
           (let ((_value2521_ (table-ref _sob2-ht510_ _key518_ '0)))
             (table-set!
              _result-ht511_
              _key518_
              (abs (- _value1519_ _value2521_)))))
         _sob1-ht509_)
        (std/srfi/113#sob-cleanup! _result505_))))
  (define std/srfi/113#set-xor
    (lambda (_set1502_ _set2503_)
      (std/srfi/113#check-set _set1502_)
      (std/srfi/113#check-set _set2503_)
      (std/srfi/113#check-same-comparator _set1502_ _set2503_)
      (std/srfi/113#sob-xor!
       (std/srfi/113#sob-empty-copy _set1502_)
       _set1502_
       _set2503_)))
  (define std/srfi/113#bag-xor
    (lambda (_bag1499_ _bag2500_)
      (std/srfi/113#check-bag _bag1499_)
      (std/srfi/113#check-bag _bag2500_)
      (std/srfi/113#check-same-comparator _bag1499_ _bag2500_)
      (std/srfi/113#sob-xor!
       (std/srfi/113#sob-empty-copy _bag1499_)
       _bag1499_
       _bag2500_)))
  (define std/srfi/113#set-xor!
    (lambda (_set1496_ _set2497_)
      (std/srfi/113#check-set _set1496_)
      (std/srfi/113#check-set _set2497_)
      (std/srfi/113#check-same-comparator _set1496_ _set2497_)
      (std/srfi/113#sob-xor! _set1496_ _set1496_ _set2497_)))
  (define std/srfi/113#bag-xor!
    (lambda (_bag1493_ _bag2494_)
      (std/srfi/113#check-bag _bag1493_)
      (std/srfi/113#check-bag _bag2494_)
      (std/srfi/113#check-same-comparator _bag1493_ _bag2494_)
      (std/srfi/113#sob-xor! _bag1493_ _bag1493_ _bag2494_)))
  (define std/srfi/113#sob-product!
    (lambda (_n484_ _result485_ _sob486_)
      (let ((_rht488_ (##structure-ref _result485_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_elem490_ _count491_)
           (table-set! _rht488_ _elem490_ (* _count491_ _n484_)))
         (##structure-ref _sob486_ '1 std/srfi/113#sob '#f))
        _result485_)))
  (define std/srfi/113#valid-n
    (lambda (_n482_)
      (if (integer? _n482_) (if (exact? _n482_) (positive? _n482_) '#f) '#f)))
  (define std/srfi/113#bag-product
    (lambda (_n479_ _bag480_)
      (std/srfi/113#check-bag _bag480_)
      (std/srfi/113#valid-n _n479_)
      (std/srfi/113#sob-product!
       _n479_
       (std/srfi/113#sob-empty-copy _bag480_)
       _bag480_)))
  (define std/srfi/113#bag-product!
    (lambda (_n476_ _bag477_)
      (std/srfi/113#check-bag _bag477_)
      (std/srfi/113#valid-n _n476_)
      (std/srfi/113#sob-product! _n476_ _bag477_ _bag477_)))
  (define std/srfi/113#bag-unique-size
    (lambda (_bag474_)
      (std/srfi/113#check-bag _bag474_)
      (table-length (##structure-ref _bag474_ '1 std/srfi/113#sob '#f))))
  (define std/srfi/113#bag-element-count
    (lambda (_bag471_ _elem472_)
      (std/srfi/113#check-bag _bag471_)
      (table-ref
       (##structure-ref _bag471_ '1 std/srfi/113#sob '#f)
       _elem472_
       '0)))
  (define std/srfi/113#bag-for-each-unique
    (lambda (_proc465_ _bag466_)
      (std/srfi/113#check-bag _bag466_)
      (table-for-each
       (lambda (_key468_ _value469_) (_proc465_ _key468_ _value469_))
       (##structure-ref _bag466_ '1 std/srfi/113#sob '#f))))
  (define std/srfi/113#bag-fold-unique
    (lambda (_proc456_ _nil457_ _bag458_)
      (std/srfi/113#check-bag _bag458_)
      (let ((_result460_ _nil457_))
        (table-for-each
         (lambda (_elem462_ _count463_)
           (set! _result460_ (_proc456_ _elem462_ _count463_ _result460_)))
         (##structure-ref _bag458_ '1 std/srfi/113#sob '#f))
        _result460_)))
  (define std/srfi/113#bag->set
    (lambda (_bag449_)
      (std/srfi/113#check-bag _bag449_)
      (let ((_result451_
             (std/srfi/113#make-sob
              (##structure-ref _bag449_ '2 std/srfi/113#sob '#f)
              '#f)))
        (table-for-each
         (lambda (_key453_ _value454_)
           (std/srfi/113#sob-increment! _result451_ _key453_ _value454_))
         (##structure-ref _bag449_ '1 std/srfi/113#sob '#f))
        _result451_)))
  (define std/srfi/113#set->bag
    (lambda (_set442_)
      (std/srfi/113#check-set _set442_)
      (let ((_result444_
             (std/srfi/113#make-sob
              (##structure-ref _set442_ '2 std/srfi/113#sob '#f)
              '#t)))
        (table-for-each
         (lambda (_key446_ _value447_)
           (std/srfi/113#sob-increment! _result444_ _key446_ _value447_))
         (##structure-ref _set442_ '1 std/srfi/113#sob '#f))
        _result444_)))
  (define std/srfi/113#set->bag!
    (lambda (_bag436_ _set437_)
      (std/srfi/113#check-bag _bag436_)
      (std/srfi/113#check-set _set437_)
      (std/srfi/113#check-same-comparator _set437_ _bag436_)
      (table-for-each
       (lambda (_key439_ _value440_)
         (std/srfi/113#sob-increment! _bag436_ _key439_ _value440_))
       (##structure-ref _set437_ '1 std/srfi/113#sob '#f))
      _bag436_))
  (define std/srfi/113#bag->alist
    (lambda (_bag430_)
      (std/srfi/113#check-bag _bag430_)
      (std/srfi/113#bag-fold-unique
       (lambda (_elem432_ _count433_ _list434_)
         (cons (cons _elem432_ _count433_) _list434_))
       '()
       _bag430_)))
  (define std/srfi/113#alist->bag
    (lambda (_comparator418_ _alist419_)
      (let* ((_result421_ (std/srfi/113#bag _comparator418_))
             (_ht423_ (##structure-ref _result421_ '1 std/srfi/113#sob '#f)))
        (for-each
         (lambda (_assoc426_)
           (let ((_element428_ (car _assoc426_)))
             (if (not (hash-key? _ht423_ _element428_))
                 (std/srfi/113#sob-increment!
                  _result421_
                  _element428_
                  (cdr _assoc426_))
                 '#!void)))
         _alist419_)
        _result421_)))
  (define std/srfi/113#sob-hash
    (lambda (_sob408_)
      (let* ((_ht410_ (##structure-ref _sob408_ '1 std/srfi/113#sob '#f))
             (_hash412_
              (std/srfi/128#comparator-hash-function
               (##structure-ref _sob408_ '2 std/srfi/113#sob '#f))))
        (std/srfi/113#sob-fold
         (lambda (_element415_ _result416_)
           (+ (_hash412_ _element415_) _result416_))
         '5381
         _sob408_))))
  (define std/srfi/113#set-comparator
    (let ()
      (declare (not safe))
      (##structure
       std/srfi/128#comparator::t
       std/srfi/113#set?
       std/srfi/113#set=?
       '#f
       std/srfi/113#sob-hash)))
  (define std/srfi/113#bag-comparator
    (let ()
      (declare (not safe))
      (##structure
       std/srfi/128#comparator::t
       std/srfi/113#bag?
       std/srfi/113#bag=?
       '#f
       std/srfi/113#sob-hash)))
  (std/srfi/128#comparator-register-default! std/srfi/113#set-comparator)
  (std/srfi/128#comparator-register-default! std/srfi/113#bag-comparator)
  (define std/srfi/113#sob-print
    (lambda (_sob403_ _port404_)
      (display (if (##structure-ref _sob403_ '3 std/srfi/113#sob '#f)
                   '"&bag["
                   '"&set[")
               _port404_)
      (std/srfi/113#sob-for-each
       (lambda (_elem406_)
         (display '" " _port404_)
         (write _elem406_ _port404_))
       _sob403_)
      (display '" ]" _port404_))))
