(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-table87483_ _comparator87484_ _multi?87485_)
      (make-struct-instance
       std/srfi/113#sob
       _hash-table87483_
       _comparator87484_
       _multi?87485_)))
  (define std/srfi/113#set?
    (lambda (_obj87481_)
      (if (##structure-instance-of? _obj87481_ 'std/srfi/113#sob)
          (not (##structure-ref _obj87481_ '3 std/srfi/113#sob '#f))
          '#f)))
  (define std/srfi/113#bag?
    (lambda (_obj87479_)
      (if (##structure-instance-of? _obj87479_ 'std/srfi/113#sob)
          (##structure-ref _obj87479_ '3 std/srfi/113#sob '#f)
          '#f)))
  (define std/srfi/113#check-set
    (lambda (_obj87477_)
      (if (not (std/srfi/113#set? _obj87477_))
          (error '"not a set" _obj87477_)
          '#!void)))
  (define std/srfi/113#check-bag
    (lambda (_obj87475_)
      (if (not (std/srfi/113#bag? _obj87475_))
          (error '"not a bag" _obj87475_)
          '#!void)))
  (define std/srfi/113#check-all-sets
    (lambda (_list87471_)
      (for-each
       (lambda (_obj87473_) (std/srfi/113#check-set _obj87473_))
       _list87471_)
      (std/srfi/113#sob-check-comparators _list87471_)))
  (define std/srfi/113#check-all-bags
    (lambda (_list87467_)
      (for-each
       (lambda (_obj87469_) (std/srfi/113#check-bag _obj87469_))
       _list87467_)
      (std/srfi/113#sob-check-comparators _list87467_)))
  (define std/srfi/113#sob-check-comparators
    (lambda (_list87463_)
      (if (not (null? _list87463_))
          (for-each
           (lambda (_sob87465_)
             (std/srfi/113#check-same-comparator (car _list87463_) _sob87465_))
           (cdr _list87463_))
          '#!void)))
  (define std/srfi/113#check-same-comparator
    (lambda (_a87460_ _b87461_)
      (if (not (eq? (##structure-ref _a87460_ '2 std/srfi/113#sob '#f)
                    (##structure-ref _b87461_ '2 std/srfi/113#sob '#f)))
          (error '"different comparators" _a87460_ _b87461_)
          '#!void)))
  (define std/srfi/113#check-element
    (lambda (_sob87457_ _element87458_)
      (std/srfi/128#comparator-check-type
       (##structure-ref _sob87457_ '2 std/srfi/113#sob '#f)
       _element87458_)))
  (define std/srfi/113#make-sob
    (lambda (_comparator87454_ _multi?87455_)
      (##structure
       std/srfi/113#sob
       (std/srfi/125#srfi-make-hash-table _comparator87454_)
       _comparator87454_
       _multi?87455_)))
  (define std/srfi/113#sob-copy
    (lambda (_sob87452_)
      (##structure
       std/srfi/113#sob
       (std/srfi/125#hash-table-copy__0
        (##structure-ref _sob87452_ '1 std/srfi/113#sob '#f))
       (##structure-ref _sob87452_ '2 std/srfi/113#sob '#f)
       (##structure-ref _sob87452_ '3 std/srfi/113#sob '#f))))
  (define std/srfi/113#set-copy
    (lambda (_set87450_)
      (std/srfi/113#check-set _set87450_)
      (std/srfi/113#sob-copy _set87450_)))
  (define std/srfi/113#bag-copy
    (lambda (_bag87448_)
      (std/srfi/113#check-bag _bag87448_)
      (std/srfi/113#sob-copy _bag87448_)))
  (define std/srfi/113#sob-empty-copy
    (lambda (_sob87446_)
      (std/srfi/113#make-sob
       (##structure-ref _sob87446_ '2 std/srfi/113#sob '#f)
       (##structure-ref _sob87446_ '3 std/srfi/113#sob '#f))))
  (define std/srfi/113#set
    (lambda (_comparator87439_ . _elements87440_)
      (let ((_result87442_ (std/srfi/113#make-sob _comparator87439_ '#f)))
        (for-each
         (lambda (_x87444_)
           (std/srfi/113#sob-increment! _result87442_ _x87444_ '1))
         _elements87440_)
        _result87442_)))
  (define std/srfi/113#bag
    (lambda (_comparator87432_ . _elements87433_)
      (let ((_result87435_ (std/srfi/113#make-sob _comparator87432_ '#t)))
        (for-each
         (lambda (_x87437_)
           (std/srfi/113#sob-increment! _result87435_ _x87437_ '1))
         _elements87433_)
        _result87435_)))
  (define std/srfi/113#sob-unfold
    (lambda (_stop?87419_
             _mapper87420_
             _successor87421_
             _seed87422_
             _comparator87423_
             _multi?87424_)
      (let ((_result87426_
             (std/srfi/113#make-sob _comparator87423_ _multi?87424_)))
        (let _loop87428_ ((_seed87430_ _seed87422_))
          (if (_stop?87419_ _seed87430_)
              _result87426_
              (begin
                (std/srfi/113#sob-increment!
                 _result87426_
                 (_mapper87420_ _seed87430_)
                 '1)
                (_loop87428_ (_successor87421_ _seed87430_))))))))
  (define std/srfi/113#set-unfold
    (lambda (_continue?87413_
             _mapper87414_
             _successor87415_
             _seed87416_
             _comparator87417_)
      (std/srfi/113#sob-unfold
       _continue?87413_
       _mapper87414_
       _successor87415_
       _seed87416_
       _comparator87417_
       '#f)))
  (define std/srfi/113#bag-unfold
    (lambda (_continue?87407_
             _mapper87408_
             _successor87409_
             _seed87410_
             _comparator87411_)
      (std/srfi/113#sob-unfold
       _continue?87407_
       _mapper87408_
       _successor87409_
       _seed87410_
       _comparator87411_
       '#t)))
  (define std/srfi/113#sob-contains?
    (lambda (_sob87404_ _member87405_)
      (hash-key?
       (##structure-ref _sob87404_ '1 std/srfi/113#sob '#f)
       _member87405_)))
  (define std/srfi/113#set-contains?
    (lambda (_set87401_ _member87402_)
      (std/srfi/113#check-set _set87401_)
      (std/srfi/113#sob-contains? _set87401_ _member87402_)))
  (define std/srfi/113#bag-contains?
    (lambda (_bag87398_ _member87399_)
      (std/srfi/113#check-bag _bag87398_)
      (std/srfi/113#sob-contains? _bag87398_ _member87399_)))
  (define std/srfi/113#sob-empty?
    (lambda (_sob87396_)
      (= '0
         (table-length (##structure-ref _sob87396_ '1 std/srfi/113#sob '#f)))))
  (define std/srfi/113#set-empty?
    (lambda (_set87394_)
      (std/srfi/113#check-set _set87394_)
      (std/srfi/113#sob-empty? _set87394_)))
  (define std/srfi/113#bag-empty?
    (lambda (_bag87392_)
      (std/srfi/113#check-bag _bag87392_)
      (std/srfi/113#sob-empty? _bag87392_)))
  (define std/srfi/113#sob-half-disjoint?
    (lambda (_a87381_ _b87382_)
      (let ((_ha87384_ (##structure-ref _a87381_ '1 std/srfi/113#sob '#f))
            (_hb87385_ (##structure-ref _b87382_ '1 std/srfi/113#sob '#f)))
        (call-with-current-continuation
         (lambda (_return87387_)
           (table-for-each
            (lambda (_key87389_ _val87390_)
              (if (hash-key? _hb87385_ _key87389_)
                  (_return87387_ '#f)
                  '#!void))
            _ha87384_)
           '#t)))))
  (define std/srfi/113#set-disjoint?
    (lambda (_a87378_ _b87379_)
      (std/srfi/113#check-set _a87378_)
      (std/srfi/113#check-set _b87379_)
      (std/srfi/113#check-same-comparator _a87378_ _b87379_)
      (if (std/srfi/113#sob-half-disjoint? _a87378_ _b87379_)
          (std/srfi/113#sob-half-disjoint? _b87379_ _a87378_)
          '#f)))
  (define std/srfi/113#bag-disjoint?
    (lambda (_a87375_ _b87376_)
      (std/srfi/113#check-bag _a87375_)
      (std/srfi/113#check-bag _b87376_)
      (std/srfi/113#check-same-comparator _a87375_ _b87376_)
      (if (std/srfi/113#sob-half-disjoint? _a87375_ _b87376_)
          (std/srfi/113#sob-half-disjoint? _b87376_ _a87375_)
          '#f)))
  (define std/srfi/113#sob-member
    (lambda (_sob87361_ _element87362_ _default87363_)
      (letrec ((_same?87365_
                (lambda (_a87372_ _b87373_)
                  (std/srfi/128#=?
                   (##structure-ref _sob87361_ '2 std/srfi/113#sob '#f)
                   _a87372_
                   _b87373_))))
        (call-with-current-continuation
         (lambda (_return87367_)
           (table-for-each
            (lambda (_key87369_ _val87370_)
              (if (_same?87365_ _key87369_ _element87362_)
                  (_return87367_ _key87369_)
                  '#!void))
            (##structure-ref _sob87361_ '1 std/srfi/113#sob '#f))
           _default87363_)))))
  (define std/srfi/113#set-member
    (lambda (_set87357_ _element87358_ _default87359_)
      (std/srfi/113#check-set _set87357_)
      (std/srfi/113#sob-member _set87357_ _element87358_ _default87359_)))
  (define std/srfi/113#bag-member
    (lambda (_bag87353_ _element87354_ _default87355_)
      (std/srfi/113#check-bag _bag87353_)
      (std/srfi/113#sob-member _bag87353_ _element87354_ _default87355_)))
  (define std/srfi/113#set-element-comparator
    (lambda (_set87351_)
      (std/srfi/113#check-set _set87351_)
      (##structure-ref _set87351_ '2 std/srfi/113#sob '#f)))
  (define std/srfi/113#bag-element-comparator
    (lambda (_bag87349_)
      (std/srfi/113#check-bag _bag87349_)
      (##structure-ref _bag87349_ '2 std/srfi/113#sob '#f)))
  (define std/srfi/113#sob-increment!
    (lambda (_sob87341_ _element87342_ _count87343_)
      (std/srfi/113#check-element _sob87341_ _element87342_)
      (std/srfi/125#hash-table-update!/default
       (##structure-ref _sob87341_ '1 std/srfi/113#sob '#f)
       _element87342_
       (if (##structure-ref _sob87341_ '3 std/srfi/113#sob '#f)
           (lambda (_value87345_) (+ _value87345_ _count87343_))
           (lambda (_value87347_) '1))
       '0)))
  (define std/srfi/113#sob-decrement!
    (lambda (_sob87335_ _element87336_ _count87337_)
      (std/srfi/125#hash-table-update!/default
       (##structure-ref _sob87335_ '1 std/srfi/113#sob '#f)
       _element87336_
       (lambda (_value87339_) (- _value87339_ _count87337_))
       '0)))
  (define std/srfi/113#sob-cleanup!
    (lambda (_sob87329_)
      (let ((_ht87331_ (##structure-ref _sob87329_ '1 std/srfi/113#sob '#f)))
        (for-each
         (lambda (_key87333_) (table-set! _ht87331_ _key87333_))
         (std/srfi/113#nonpositive-keys _ht87331_))
        _sob87329_)))
  (define std/srfi/113#nonpositive-keys
    (lambda (_ht87322_)
      (let ((_result87324_ '()))
        (table-for-each
         (lambda (_key87326_ _value87327_)
           (if (<= _value87327_ '0)
               (set! _result87324_ (cons _key87326_ _result87324_))
               '#!void))
         _ht87322_)
        _result87324_)))
  (define std/srfi/113#bag-increment!
    (lambda (_bag87318_ _element87319_ _count87320_)
      (std/srfi/113#check-bag _bag87318_)
      (std/srfi/113#sob-increment! _bag87318_ _element87319_ _count87320_)
      _bag87318_))
  (define std/srfi/113#bag-decrement!
    (lambda (_bag87314_ _element87315_ _count87316_)
      (std/srfi/113#check-bag _bag87314_)
      (std/srfi/113#sob-decrement! _bag87314_ _element87315_ _count87316_)
      (std/srfi/113#sob-cleanup! _bag87314_)
      _bag87314_))
  (define std/srfi/113#sob-adjoin-all!
    (lambda (_sob87309_ _elements87310_)
      (for-each
       (lambda (_elem87312_)
         (std/srfi/113#sob-increment! _sob87309_ _elem87312_ '1))
       _elements87310_)))
  (define std/srfi/113#set-adjoin!
    (lambda (_set87306_ . _elements87307_)
      (std/srfi/113#check-set _set87306_)
      (std/srfi/113#sob-adjoin-all! _set87306_ _elements87307_)
      _set87306_))
  (define std/srfi/113#bag-adjoin!
    (lambda (_bag87303_ . _elements87304_)
      (std/srfi/113#check-bag _bag87303_)
      (std/srfi/113#sob-adjoin-all! _bag87303_ _elements87304_)
      _bag87303_))
  (define std/srfi/113#set-adjoin
    (lambda (_set87298_ . _elements87299_)
      (std/srfi/113#check-set _set87298_)
      (let ((_result87301_ (std/srfi/113#sob-copy _set87298_)))
        (std/srfi/113#sob-adjoin-all! _result87301_ _elements87299_)
        _result87301_)))
  (define std/srfi/113#bag-adjoin
    (lambda (_bag87293_ . _elements87294_)
      (std/srfi/113#check-bag _bag87293_)
      (let ((_result87296_ (std/srfi/113#sob-copy _bag87293_)))
        (std/srfi/113#sob-adjoin-all! _result87296_ _elements87294_)
        _result87296_)))
  (define std/srfi/113#sob-replace!
    (lambda (_sob87278_ _element87279_)
      (let* ((_comparator87281_
              (##structure-ref _sob87278_ '2 std/srfi/113#sob '#f))
             (_=87283_
              (##direct-structure-ref
               _comparator87281_
               '2
               std/srfi/128#comparator::t
               '#f))
             (_ht87285_ (##structure-ref _sob87278_ '1 std/srfi/113#sob '#f)))
        (std/srfi/128#comparator-check-type _comparator87281_ _element87279_)
        (call-with-current-continuation
         (lambda (_return87288_)
           (table-for-each
            (lambda (_key87290_ _value87291_)
              (if (_=87283_ _key87290_ _element87279_)
                  (begin
                    (table-set! _ht87285_ _key87290_)
                    (table-set! _ht87285_ _element87279_ _value87291_)
                    (_return87288_ _sob87278_))
                  '#!void))
            _ht87285_)
           _sob87278_)))))
  (define std/srfi/113#set-replace!
    (lambda (_set87275_ _element87276_)
      (std/srfi/113#check-set _set87275_)
      (std/srfi/113#sob-replace! _set87275_ _element87276_)
      _set87275_))
  (define std/srfi/113#bag-replace!
    (lambda (_bag87272_ _element87273_)
      (std/srfi/113#check-bag _bag87272_)
      (std/srfi/113#sob-replace! _bag87272_ _element87273_)
      _bag87272_))
  (define std/srfi/113#set-replace
    (lambda (_set87267_ _element87268_)
      (std/srfi/113#check-set _set87267_)
      (let ((_result87270_ (std/srfi/113#sob-copy _set87267_)))
        (std/srfi/113#sob-replace! _result87270_ _element87268_)
        _result87270_)))
  (define std/srfi/113#bag-replace
    (lambda (_bag87262_ _element87263_)
      (std/srfi/113#check-bag _bag87262_)
      (let ((_result87265_ (std/srfi/113#sob-copy _bag87262_)))
        (std/srfi/113#sob-replace! _result87265_ _element87263_)
        _result87265_)))
  (define std/srfi/113#sob-delete-all!
    (lambda (_sob87257_ _elements87258_)
      (for-each
       (lambda (_element87260_)
         (std/srfi/113#sob-decrement! _sob87257_ _element87260_ '1))
       _elements87258_)
      (std/srfi/113#sob-cleanup! _sob87257_)
      _sob87257_))
  (define std/srfi/113#set-delete!
    (lambda (_set87254_ . _elements87255_)
      (std/srfi/113#check-set _set87254_)
      (std/srfi/113#sob-delete-all! _set87254_ _elements87255_)))
  (define std/srfi/113#bag-delete!
    (lambda (_bag87251_ . _elements87252_)
      (std/srfi/113#check-bag _bag87251_)
      (std/srfi/113#sob-delete-all! _bag87251_ _elements87252_)))
  (define std/srfi/113#set-delete-all!
    (lambda (_set87248_ _elements87249_)
      (std/srfi/113#check-set _set87248_)
      (std/srfi/113#sob-delete-all! _set87248_ _elements87249_)))
  (define std/srfi/113#bag-delete-all!
    (lambda (_bag87245_ _elements87246_)
      (std/srfi/113#check-bag _bag87245_)
      (std/srfi/113#sob-delete-all! _bag87245_ _elements87246_)))
  (define std/srfi/113#set-delete
    (lambda (_set87242_ . _elements87243_)
      (std/srfi/113#check-set _set87242_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _set87242_)
       _elements87243_)))
  (define std/srfi/113#bag-delete
    (lambda (_bag87239_ . _elements87240_)
      (std/srfi/113#check-bag _bag87239_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _bag87239_)
       _elements87240_)))
  (define std/srfi/113#set-delete-all
    (lambda (_set87236_ _elements87237_)
      (std/srfi/113#check-set _set87236_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _set87236_)
       _elements87237_)))
  (define std/srfi/113#bag-delete-all
    (lambda (_bag87233_ _elements87234_)
      (std/srfi/113#check-bag _bag87233_)
      (std/srfi/113#sob-delete-all!
       (std/srfi/113#sob-copy _bag87233_)
       _elements87234_)))
  (define std/srfi/113#missing (string-copy '"missing"))
  (define std/srfi/113#sob-search!
    (lambda (_sob87212_ _element87213_ _failure87214_ _success87215_)
      (letrec ((_insert87217_
                (lambda (_obj87231_)
                  (std/srfi/113#sob-increment! _sob87212_ _element87213_ '1)
                  (values _sob87212_ _obj87231_)))
               (_ignore87218_
                (lambda (_obj87229_) (values _sob87212_ _obj87229_)))
               (_update87219_
                (lambda (_new-elem87226_ _obj87227_)
                  (std/srfi/113#sob-decrement! _sob87212_ _element87213_ '1)
                  (std/srfi/113#sob-increment! _sob87212_ _new-elem87226_ '1)
                  (values (std/srfi/113#sob-cleanup! _sob87212_) _obj87227_)))
               (_remove87220_
                (lambda (_obj87224_)
                  (std/srfi/113#sob-decrement! _sob87212_ _element87213_ '1)
                  (values (std/srfi/113#sob-cleanup! _sob87212_) _obj87224_))))
        (let ((_true-element87222_
               (std/srfi/113#sob-member
                _sob87212_
                _element87213_
                std/srfi/113#missing)))
          (if (eq? _true-element87222_ std/srfi/113#missing)
              (_failure87214_ _insert87217_ _ignore87218_)
              (_success87215_
               _true-element87222_
               _update87219_
               _remove87220_))))))
  (define std/srfi/113#set-search!
    (lambda (_set87207_ _element87208_ _failure87209_ _success87210_)
      (std/srfi/113#check-set _set87207_)
      (std/srfi/113#sob-search!
       _set87207_
       _element87208_
       _failure87209_
       _success87210_)))
  (define std/srfi/113#bag-search!
    (lambda (_bag87202_ _element87203_ _failure87204_ _success87205_)
      (std/srfi/113#check-bag _bag87202_)
      (std/srfi/113#sob-search!
       _bag87202_
       _element87203_
       _failure87204_
       _success87205_)))
  (define std/srfi/113#sob-size
    (lambda (_sob87195_)
      (if (##structure-ref _sob87195_ '3 std/srfi/113#sob '#f)
          (let ((_result87197_ '0))
            (table-for-each
             (lambda (_elem87199_ _count87200_)
               (set! _result87197_ (+ _count87200_ _result87197_)))
             (##structure-ref _sob87195_ '1 std/srfi/113#sob '#f))
            _result87197_)
          (table-length
           (##structure-ref _sob87195_ '1 std/srfi/113#sob '#f)))))
  (define std/srfi/113#set-size
    (lambda (_set87193_)
      (std/srfi/113#check-set _set87193_)
      (std/srfi/113#sob-size _set87193_)))
  (define std/srfi/113#bag-size
    (lambda (_bag87191_)
      (std/srfi/113#check-bag _bag87191_)
      (std/srfi/113#sob-size _bag87191_)))
  (define std/srfi/113#sob-find
    (lambda (_pred87182_ _sob87183_ _failure87184_)
      (call-with-current-continuation
       (lambda (_return87186_)
         (table-for-each
          (lambda (_key87188_ _value87189_)
            (if (_pred87182_ _key87188_) (_return87186_ _key87188_) '#!void))
          (##structure-ref _sob87183_ '1 std/srfi/113#sob '#f))
         (_failure87184_)))))
  (define std/srfi/113#set-find
    (lambda (_pred87178_ _set87179_ _failure87180_)
      (std/srfi/113#check-set _set87179_)
      (std/srfi/113#sob-find _pred87178_ _set87179_ _failure87180_)))
  (define std/srfi/113#bag-find
    (lambda (_pred87174_ _bag87175_ _failure87176_)
      (std/srfi/113#check-bag _bag87175_)
      (std/srfi/113#sob-find _pred87174_ _bag87175_ _failure87176_)))
  (define std/srfi/113#sob-count
    (lambda (_pred87168_ _sob87169_)
      (std/srfi/113#sob-fold
       (lambda (_elem87171_ _total87172_)
         (if (_pred87168_ _elem87171_) (+ _total87172_ '1) _total87172_))
       '0
       _sob87169_)))
  (define std/srfi/113#set-count
    (lambda (_pred87165_ _set87166_)
      (std/srfi/113#check-set _set87166_)
      (std/srfi/113#sob-count _pred87165_ _set87166_)))
  (define std/srfi/113#bag-count
    (lambda (_pred87162_ _bag87163_)
      (std/srfi/113#check-bag _bag87163_)
      (std/srfi/113#sob-count _pred87162_ _bag87163_)))
  (define std/srfi/113#sob-any?
    (lambda (_pred87154_ _sob87155_)
      (call-with-current-continuation
       (lambda (_return87157_)
         (table-for-each
          (lambda (_elem87159_ _value87160_)
            (if (_pred87154_ _elem87159_) (_return87157_ '#t) '#!void))
          (##structure-ref _sob87155_ '1 std/srfi/113#sob '#f))
         '#f))))
  (define std/srfi/113#set-any?
    (lambda (_pred87151_ _set87152_)
      (std/srfi/113#check-set _set87152_)
      (std/srfi/113#sob-any? _pred87151_ _set87152_)))
  (define std/srfi/113#bag-any?
    (lambda (_pred87148_ _bag87149_)
      (std/srfi/113#check-bag _bag87149_)
      (std/srfi/113#sob-any? _pred87148_ _bag87149_)))
  (define std/srfi/113#sob-every?
    (lambda (_pred87140_ _sob87141_)
      (call-with-current-continuation
       (lambda (_return87143_)
         (table-for-each
          (lambda (_elem87145_ _value87146_)
            (if (not (_pred87140_ _elem87145_)) (_return87143_ '#f) '#!void))
          (##structure-ref _sob87141_ '1 std/srfi/113#sob '#f))
         '#t))))
  (define std/srfi/113#set-every?
    (lambda (_pred87137_ _set87138_)
      (std/srfi/113#check-set _set87138_)
      (std/srfi/113#sob-every? _pred87137_ _set87138_)))
  (define std/srfi/113#bag-every?
    (lambda (_pred87134_ _bag87135_)
      (std/srfi/113#check-bag _bag87135_)
      (std/srfi/113#sob-every? _pred87134_ _bag87135_)))
  (define std/srfi/113#do-n-times
    (lambda (_cmd87127_ _n87128_)
      (let _loop87130_ ((_n87132_ _n87128_))
        (if (> _n87132_ '0)
            (begin (_cmd87127_) (_loop87130_ (- _n87132_ '1)))
            '#!void))))
  (define std/srfi/113#sob-for-each
    (lambda (_proc87120_ _sob87121_)
      (table-for-each
       (lambda (_key87123_ _value87124_)
         (std/srfi/113#do-n-times
          (lambda () (_proc87120_ _key87123_))
          _value87124_))
       (##structure-ref _sob87121_ '1 std/srfi/113#sob '#f))))
  (define std/srfi/113#set-for-each
    (lambda (_proc87117_ _set87118_)
      (std/srfi/113#check-set _set87118_)
      (std/srfi/113#sob-for-each _proc87117_ _set87118_)))
  (define std/srfi/113#bag-for-each
    (lambda (_proc87114_ _bag87115_)
      (std/srfi/113#check-bag _bag87115_)
      (std/srfi/113#sob-for-each _proc87114_ _bag87115_)))
  (define std/srfi/113#sob-map
    (lambda (_comparator87105_ _proc87106_ _sob87107_)
      (let ((_result87109_
             (std/srfi/113#make-sob
              _comparator87105_
              (##structure-ref _sob87107_ '3 std/srfi/113#sob '#f))))
        (table-for-each
         (lambda (_key87111_ _value87112_)
           (std/srfi/113#sob-increment!
            _result87109_
            (_proc87106_ _key87111_)
            _value87112_))
         (##structure-ref _sob87107_ '1 std/srfi/113#sob '#f))
        _result87109_)))
  (define std/srfi/113#set-map
    (lambda (_comparator87101_ _proc87102_ _set87103_)
      (std/srfi/113#check-set _set87103_)
      (std/srfi/113#sob-map _comparator87101_ _proc87102_ _set87103_)))
  (define std/srfi/113#bag-map
    (lambda (_comparator87097_ _proc87098_ _bag87099_)
      (std/srfi/113#check-bag _bag87099_)
      (std/srfi/113#sob-map _comparator87097_ _proc87098_ _bag87099_)))
  (define std/srfi/113#sob-fold
    (lambda (_proc87089_ _nil87090_ _sob87091_)
      (let ((_result87093_ _nil87090_))
        (std/srfi/113#sob-for-each
         (lambda (_elem87095_)
           (set! _result87093_ (_proc87089_ _elem87095_ _result87093_)))
         _sob87091_)
        _result87093_)))
  (define std/srfi/113#set-fold
    (lambda (_proc87085_ _nil87086_ _set87087_)
      (std/srfi/113#check-set _set87087_)
      (std/srfi/113#sob-fold _proc87085_ _nil87086_ _set87087_)))
  (define std/srfi/113#bag-fold
    (lambda (_proc87081_ _nil87082_ _bag87083_)
      (std/srfi/113#check-bag _bag87083_)
      (std/srfi/113#sob-fold _proc87081_ _nil87082_ _bag87083_)))
  (define std/srfi/113#sob-filter
    (lambda (_pred87073_ _sob87074_)
      (let ((_result87076_ (std/srfi/113#sob-empty-copy _sob87074_)))
        (table-for-each
         (lambda (_key87078_ _value87079_)
           (if (_pred87073_ _key87078_)
               (std/srfi/113#sob-increment!
                _result87076_
                _key87078_
                _value87079_)
               '#!void))
         (##structure-ref _sob87074_ '1 std/srfi/113#sob '#f))
        _result87076_)))
  (define std/srfi/113#set-filter
    (lambda (_pred87070_ _set87071_)
      (std/srfi/113#check-set _set87071_)
      (std/srfi/113#sob-filter _pred87070_ _set87071_)))
  (define std/srfi/113#bag-filter
    (lambda (_pred87067_ _bag87068_)
      (std/srfi/113#check-bag _bag87068_)
      (std/srfi/113#sob-filter _pred87067_ _bag87068_)))
  (define std/srfi/113#set-remove
    (lambda (_pred87062_ _set87063_)
      (std/srfi/113#check-set _set87063_)
      (std/srfi/113#sob-filter
       (lambda (_x87065_) (not (_pred87062_ _x87065_)))
       _set87063_)))
  (define std/srfi/113#bag-remove
    (lambda (_pred87057_ _bag87058_)
      (std/srfi/113#check-bag _bag87058_)
      (std/srfi/113#sob-filter
       (lambda (_x87060_) (not (_pred87057_ _x87060_)))
       _bag87058_)))
  (define std/srfi/113#sob-filter!
    (lambda (_pred87051_ _sob87052_)
      (table-for-each
       (lambda (_key87054_ _value87055_)
         (if (not (_pred87051_ _key87054_))
             (std/srfi/113#sob-decrement! _sob87052_ _key87054_ _value87055_)
             '#!void))
       (##structure-ref _sob87052_ '1 std/srfi/113#sob '#f))
      (std/srfi/113#sob-cleanup! _sob87052_)))
  (define std/srfi/113#set-filter!
    (lambda (_pred87048_ _set87049_)
      (std/srfi/113#check-set _set87049_)
      (std/srfi/113#sob-filter! _pred87048_ _set87049_)))
  (define std/srfi/113#bag-filter!
    (lambda (_pred87045_ _bag87046_)
      (std/srfi/113#check-bag _bag87046_)
      (std/srfi/113#sob-filter! _pred87045_ _bag87046_)))
  (define std/srfi/113#set-remove!
    (lambda (_pred87040_ _set87041_)
      (std/srfi/113#check-set _set87041_)
      (std/srfi/113#sob-filter!
       (lambda (_x87043_) (not (_pred87040_ _x87043_)))
       _set87041_)))
  (define std/srfi/113#bag-remove!
    (lambda (_pred87035_ _bag87036_)
      (std/srfi/113#check-bag _bag87036_)
      (std/srfi/113#sob-filter!
       (lambda (_x87038_) (not (_pred87035_ _x87038_)))
       _bag87036_)))
  (define std/srfi/113#sob-partition
    (lambda (_pred87026_ _sob87027_)
      (let ((_res187029_ (std/srfi/113#sob-empty-copy _sob87027_))
            (_res287030_ (std/srfi/113#sob-empty-copy _sob87027_)))
        (table-for-each
         (lambda (_key87032_ _value87033_)
           (if (_pred87026_ _key87032_)
               (std/srfi/113#sob-increment!
                _res187029_
                _key87032_
                _value87033_)
               (std/srfi/113#sob-increment!
                _res287030_
                _key87032_
                _value87033_)))
         (##structure-ref _sob87027_ '1 std/srfi/113#sob '#f))
        (values _res187029_ _res287030_))))
  (define std/srfi/113#set-partition
    (lambda (_pred87023_ _set87024_)
      (std/srfi/113#check-set _set87024_)
      (std/srfi/113#sob-partition _pred87023_ _set87024_)))
  (define std/srfi/113#bag-partition
    (lambda (_pred87020_ _bag87021_)
      (std/srfi/113#check-bag _bag87021_)
      (std/srfi/113#sob-partition _pred87020_ _bag87021_)))
  (define std/srfi/113#sob-partition!
    (lambda (_pred87012_ _sob87013_)
      (let ((_result87015_ (std/srfi/113#sob-empty-copy _sob87013_)))
        (table-for-each
         (lambda (_key87017_ _value87018_)
           (if (not (_pred87012_ _key87017_))
               (begin
                 (std/srfi/113#sob-decrement!
                  _sob87013_
                  _key87017_
                  _value87018_)
                 (std/srfi/113#sob-increment!
                  _result87015_
                  _key87017_
                  _value87018_))
               '#!void))
         (##structure-ref _sob87013_ '1 std/srfi/113#sob '#f))
        (values (std/srfi/113#sob-cleanup! _sob87013_) _result87015_))))
  (define std/srfi/113#set-partition!
    (lambda (_pred87009_ _set87010_)
      (std/srfi/113#check-set _set87010_)
      (std/srfi/113#sob-partition! _pred87009_ _set87010_)))
  (define std/srfi/113#bag-partition!
    (lambda (_pred87006_ _bag87007_)
      (std/srfi/113#check-bag _bag87007_)
      (std/srfi/113#sob-partition! _pred87006_ _bag87007_)))
  (define std/srfi/113#sob->list
    (lambda (_sob87001_)
      (std/srfi/113#sob-fold
       (lambda (_elem87003_ _list87004_) (cons _elem87003_ _list87004_))
       '()
       _sob87001_)))
  (define std/srfi/113#set->list
    (lambda (_set86999_)
      (std/srfi/113#check-set _set86999_)
      (std/srfi/113#sob->list _set86999_)))
  (define std/srfi/113#bag->list
    (lambda (_bag86997_)
      (std/srfi/113#check-bag _bag86997_)
      (std/srfi/113#sob->list _bag86997_)))
  (define std/srfi/113#list->sob!
    (lambda (_sob86992_ _list86993_)
      (for-each
       (lambda (_elem86995_)
         (std/srfi/113#sob-increment! _sob86992_ _elem86995_ '1))
       _list86993_)
      _sob86992_))
  (define std/srfi/113#list->set
    (lambda (_comparator86989_ _list86990_)
      (std/srfi/113#list->sob!
       (std/srfi/113#make-sob _comparator86989_ '#f)
       _list86990_)))
  (define std/srfi/113#list->bag
    (lambda (_comparator86986_ _list86987_)
      (std/srfi/113#list->sob!
       (std/srfi/113#make-sob _comparator86986_ '#t)
       _list86987_)))
  (define std/srfi/113#list->set!
    (lambda (_set86983_ _list86984_)
      (std/srfi/113#check-set _set86983_)
      (std/srfi/113#list->sob! _set86983_ _list86984_)))
  (define std/srfi/113#list->bag!
    (lambda (_bag86980_ _list86981_)
      (std/srfi/113#check-bag _bag86980_)
      (std/srfi/113#list->sob! _bag86980_ _list86981_)))
  (define std/srfi/113#sob=?__0 (lambda (_sob86971_) '#t))
  (define std/srfi/113#sob=?__2
    (lambda (_sob186976_ _sob286977_ . _sobs86978_)
      (if (std/srfi/113#dyadic-sob=? _sob186976_ _sob286977_)
          (apply std/srfi/113#sob=? _sob286977_ _sobs86978_)
          '#f)))
  (define std/srfi/113#sob=?
    (lambda _g87487_
      (let ((_g87486_ (length _g87487_)))
        (cond ((##fx= _g87486_ 1) (apply std/srfi/113#sob=?__0 _g87487_))
              ((##fx= _g87486_ 2) (apply std/srfi/113#dyadic-sob=? _g87487_))
              ((##fx>= _g87486_ 2) (apply std/srfi/113#sob=?__2 _g87487_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob=?
                _g87487_))))))
  (define std/srfi/113#set=?
    (lambda _sets86969_
      (std/srfi/113#check-all-sets _sets86969_)
      (apply std/srfi/113#sob=? _sets86969_)))
  (define std/srfi/113#bag=?
    (lambda _bags86967_
      (std/srfi/113#check-all-bags _bags86967_)
      (apply std/srfi/113#sob=? _bags86967_)))
  (define std/srfi/113#dyadic-sob=?
    (lambda (_sob186956_ _sob286957_)
      (call-with-current-continuation
       (lambda (_return86959_)
         (let ((_ht186961_
                (##structure-ref _sob186956_ '1 std/srfi/113#sob '#f))
               (_ht286962_
                (##structure-ref _sob286957_ '1 std/srfi/113#sob '#f)))
           (if (not (= (table-length _ht186961_) (table-length _ht286962_)))
               (_return86959_ '#f)
               '#!void)
           (table-for-each
            (lambda (_key86964_ _value86965_)
              (if (not (= _value86965_ (table-ref _ht286962_ _key86964_ '0)))
                  (_return86959_ '#f)
                  '#!void))
            _ht186961_))
         '#t))))
  (define std/srfi/113#sob<=?__0 (lambda (_sob86947_) '#t))
  (define std/srfi/113#sob<=?__2
    (lambda (_sob186952_ _sob286953_ . _sobs86954_)
      (if (std/srfi/113#dyadic-sob<=? _sob186952_ _sob286953_)
          (apply std/srfi/113#sob<=? _sob286953_ _sobs86954_)
          '#f)))
  (define std/srfi/113#sob<=?
    (lambda _g87489_
      (let ((_g87488_ (length _g87489_)))
        (cond ((##fx= _g87488_ 1) (apply std/srfi/113#sob<=?__0 _g87489_))
              ((##fx= _g87488_ 2) (apply std/srfi/113#dyadic-sob<=? _g87489_))
              ((##fx>= _g87488_ 2) (apply std/srfi/113#sob<=?__2 _g87489_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob<=?
                _g87489_))))))
  (define std/srfi/113#set<=?
    (lambda _sets86945_
      (std/srfi/113#check-all-sets _sets86945_)
      (apply std/srfi/113#sob<=? _sets86945_)))
  (define std/srfi/113#bag<=?
    (lambda _bags86943_
      (std/srfi/113#check-all-bags _bags86943_)
      (apply std/srfi/113#sob<=? _bags86943_)))
  (define std/srfi/113#dyadic-sob<=?
    (lambda (_sob186932_ _sob286933_)
      (call-with-current-continuation
       (lambda (_return86935_)
         (let ((_ht186937_
                (##structure-ref _sob186932_ '1 std/srfi/113#sob '#f))
               (_ht286938_
                (##structure-ref _sob286933_ '1 std/srfi/113#sob '#f)))
           (if (not (<= (table-length _ht186937_) (table-length _ht286938_)))
               (_return86935_ '#f)
               '#!void)
           (table-for-each
            (lambda (_key86940_ _value86941_)
              (if (not (<= _value86941_ (table-ref _ht286938_ _key86940_ '0)))
                  (_return86935_ '#f)
                  '#!void))
            _ht186937_))
         '#t))))
  (define std/srfi/113#sob<?__0 (lambda (_sob86923_) '#t))
  (define std/srfi/113#sob<?__2
    (lambda (_sob186928_ _sob286929_ . _sobs86930_)
      (if (std/srfi/113#dyadic-sob<? _sob186928_ _sob286929_)
          (apply std/srfi/113#sob<? _sob286929_ _sobs86930_)
          '#f)))
  (define std/srfi/113#sob<?
    (lambda _g87491_
      (let ((_g87490_ (length _g87491_)))
        (cond ((##fx= _g87490_ 1) (apply std/srfi/113#sob<?__0 _g87491_))
              ((##fx= _g87490_ 2) (apply std/srfi/113#dyadic-sob<? _g87491_))
              ((##fx>= _g87490_ 2) (apply std/srfi/113#sob<?__2 _g87491_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob<?
                _g87491_))))))
  (define std/srfi/113#set<?
    (lambda _sets86921_
      (std/srfi/113#check-all-sets _sets86921_)
      (apply std/srfi/113#sob<? _sets86921_)))
  (define std/srfi/113#bag<?
    (lambda _bags86919_
      (std/srfi/113#check-all-bags _bags86919_)
      (apply std/srfi/113#sob<? _bags86919_)))
  (define std/srfi/113#dyadic-sob<?
    (lambda (_sob186904_ _sob286905_)
      (call-with-current-continuation
       (lambda (_return86907_)
         (let ((_ht186909_
                (##structure-ref _sob186904_ '1 std/srfi/113#sob '#f))
               (_ht286910_
                (##structure-ref _sob286905_ '1 std/srfi/113#sob '#f)))
           (let ((_smaller-count86912_
                  (if (< (table-length _ht186909_) (table-length _ht286910_))
                      '1
                      (if (= (table-length _ht186909_)
                             (table-length _ht286910_))
                          '0
                          (_return86907_ '#f)))))
             (table-for-each
              (lambda (_key86914_ _value86915_)
                (let ((_value286917_ (table-ref _ht286910_ _key86914_ '0)))
                  (if (not (<= _value86915_ _value286917_))
                      (_return86907_ '#f)
                      (if (< _value86915_ _value286917_)
                          (set! _smaller-count86912_
                                (+ _smaller-count86912_ '1))
                          '#!void))))
              _ht186909_)
             (positive? _smaller-count86912_)))))))
  (define std/srfi/113#sob>?__0 (lambda (_sob86895_) '#t))
  (define std/srfi/113#sob>?__2
    (lambda (_sob186900_ _sob286901_ . _sobs86902_)
      (if (std/srfi/113#dyadic-sob>? _sob186900_ _sob286901_)
          (apply std/srfi/113#sob>? _sob286901_ _sobs86902_)
          '#f)))
  (define std/srfi/113#sob>?
    (lambda _g87493_
      (let ((_g87492_ (length _g87493_)))
        (cond ((##fx= _g87492_ 1) (apply std/srfi/113#sob>?__0 _g87493_))
              ((##fx= _g87492_ 2) (apply std/srfi/113#dyadic-sob>? _g87493_))
              ((##fx>= _g87492_ 2) (apply std/srfi/113#sob>?__2 _g87493_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob>?
                _g87493_))))))
  (define std/srfi/113#set>?
    (lambda _sets86893_
      (std/srfi/113#check-all-sets _sets86893_)
      (apply std/srfi/113#sob>? _sets86893_)))
  (define std/srfi/113#bag>?
    (lambda _bags86891_
      (std/srfi/113#check-all-bags _bags86891_)
      (apply std/srfi/113#sob>? _bags86891_)))
  (define std/srfi/113#dyadic-sob>?
    (lambda (_sob186888_ _sob286889_)
      (std/srfi/113#dyadic-sob<? _sob286889_ _sob186888_)))
  (define std/srfi/113#sob>=?__0 (lambda (_sob86879_) '#t))
  (define std/srfi/113#sob>=?__2
    (lambda (_sob186884_ _sob286885_ . _sobs86886_)
      (if (std/srfi/113#dyadic-sob>=? _sob186884_ _sob286885_)
          (apply std/srfi/113#sob>=? _sob286885_ _sobs86886_)
          '#f)))
  (define std/srfi/113#sob>=?
    (lambda _g87495_
      (let ((_g87494_ (length _g87495_)))
        (cond ((##fx= _g87494_ 1) (apply std/srfi/113#sob>=?__0 _g87495_))
              ((##fx= _g87494_ 2) (apply std/srfi/113#dyadic-sob>=? _g87495_))
              ((##fx>= _g87494_ 2) (apply std/srfi/113#sob>=?__2 _g87495_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/srfi/113#sob>=?
                _g87495_))))))
  (define std/srfi/113#set>=?
    (lambda _sets86877_
      (std/srfi/113#check-all-sets _sets86877_)
      (apply std/srfi/113#sob>=? _sets86877_)))
  (define std/srfi/113#bag>=?
    (lambda _bags86875_
      (std/srfi/113#check-all-bags _bags86875_)
      (apply std/srfi/113#sob>=? _bags86875_)))
  (define std/srfi/113#dyadic-sob>=?
    (lambda (_sob186872_ _sob286873_)
      (std/srfi/113#dyadic-sob<=? _sob286873_ _sob186872_)))
  (define std/srfi/113#max-one
    (lambda (_n86869_ _multi?86870_)
      (if _multi?86870_ _n86869_ (if (> _n86869_ '1) '1 _n86869_))))
  (define std/srfi/113#sob-union
    (lambda (_sob186862_ . _sobs86863_)
      (if (null? _sobs86863_)
          _sob186862_
          (let ((_result86865_ (std/srfi/113#sob-empty-copy _sob186862_)))
            (std/srfi/113#dyadic-sob-union!
             _result86865_
             _sob186862_
             (car _sobs86863_))
            (for-each
             (lambda (_sob86867_)
               (std/srfi/113#dyadic-sob-union!
                _result86865_
                _result86865_
                _sob86867_))
             (cdr _sobs86863_))
            _result86865_))))
  (define std/srfi/113#dyadic-sob-union!
    (lambda (_result86844_ _sob186845_ _sob286846_)
      (let ((_sob1-ht86848_
             (##structure-ref _sob186845_ '1 std/srfi/113#sob '#f))
            (_sob2-ht86849_
             (##structure-ref _sob286846_ '1 std/srfi/113#sob '#f))
            (_result-ht86850_
             (##structure-ref _result86844_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key86852_ _value186853_)
           (let ((_value286855_ (table-ref _sob2-ht86849_ _key86852_ '0)))
             (table-set!
              _result-ht86850_
              _key86852_
              (max _value186853_ _value286855_))))
         _sob1-ht86848_)
        (table-for-each
         (lambda (_key86857_ _value286858_)
           (let ((_value186860_ (table-ref _sob1-ht86848_ _key86857_ '0)))
             (if (= _value186860_ '0)
                 (table-set! _result-ht86850_ _key86857_ _value286858_)
                 '#!void)))
         _sob2-ht86849_))))
  (define std/srfi/113#set-union
    (lambda _sets86842_
      (std/srfi/113#check-all-sets _sets86842_)
      (apply std/srfi/113#sob-union _sets86842_)))
  (define std/srfi/113#bag-union
    (lambda _bags86840_
      (std/srfi/113#check-all-bags _bags86840_)
      (apply std/srfi/113#sob-union _bags86840_)))
  (define std/srfi/113#sob-union!
    (lambda (_sob186835_ . _sobs86836_)
      (for-each
       (lambda (_sob86838_)
         (std/srfi/113#dyadic-sob-union! _sob186835_ _sob186835_ _sob86838_))
       _sobs86836_)
      _sob186835_))
  (define std/srfi/113#set-union!
    (lambda _sets86833_
      (std/srfi/113#check-all-sets _sets86833_)
      (apply std/srfi/113#sob-union! _sets86833_)))
  (define std/srfi/113#bag-union!
    (lambda _bags86831_
      (std/srfi/113#check-all-bags _bags86831_)
      (apply std/srfi/113#sob-union! _bags86831_)))
  (define std/srfi/113#sob-intersection
    (lambda (_sob186824_ . _sobs86825_)
      (if (null? _sobs86825_)
          _sob186824_
          (let ((_result86827_ (std/srfi/113#sob-empty-copy _sob186824_)))
            (std/srfi/113#dyadic-sob-intersection!
             _result86827_
             _sob186824_
             (car _sobs86825_))
            (for-each
             (lambda (_sob86829_)
               (std/srfi/113#dyadic-sob-intersection!
                _result86827_
                _result86827_
                _sob86829_))
             (cdr _sobs86825_))
            (std/srfi/113#sob-cleanup! _result86827_)))))
  (define std/srfi/113#dyadic-sob-intersection!
    (lambda (_result86811_ _sob186812_ _sob286813_)
      (let ((_sob1-ht86815_
             (##structure-ref _sob186812_ '1 std/srfi/113#sob '#f))
            (_sob2-ht86816_
             (##structure-ref _sob286813_ '1 std/srfi/113#sob '#f))
            (_result-ht86817_
             (##structure-ref _result86811_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key86819_ _value186820_)
           (let ((_value286822_ (table-ref _sob2-ht86816_ _key86819_ '0)))
             (table-set!
              _result-ht86817_
              _key86819_
              (min _value186820_ _value286822_))))
         _sob1-ht86815_))))
  (define std/srfi/113#set-intersection
    (lambda _sets86809_
      (std/srfi/113#check-all-sets _sets86809_)
      (apply std/srfi/113#sob-intersection _sets86809_)))
  (define std/srfi/113#bag-intersection
    (lambda _bags86807_
      (std/srfi/113#check-all-bags _bags86807_)
      (apply std/srfi/113#sob-intersection _bags86807_)))
  (define std/srfi/113#sob-intersection!
    (lambda (_sob186802_ . _sobs86803_)
      (for-each
       (lambda (_sob86805_)
         (std/srfi/113#dyadic-sob-intersection!
          _sob186802_
          _sob186802_
          _sob86805_))
       _sobs86803_)
      (std/srfi/113#sob-cleanup! _sob186802_)))
  (define std/srfi/113#set-intersection!
    (lambda _sets86800_
      (std/srfi/113#check-all-sets _sets86800_)
      (apply std/srfi/113#sob-intersection! _sets86800_)))
  (define std/srfi/113#bag-intersection!
    (lambda _bags86798_
      (std/srfi/113#check-all-bags _bags86798_)
      (apply std/srfi/113#sob-intersection! _bags86798_)))
  (define std/srfi/113#sob-difference
    (lambda (_sob186791_ . _sobs86792_)
      (if (null? _sobs86792_)
          _sob186791_
          (let ((_result86794_ (std/srfi/113#sob-empty-copy _sob186791_)))
            (std/srfi/113#dyadic-sob-difference!
             _result86794_
             _sob186791_
             (car _sobs86792_))
            (for-each
             (lambda (_sob86796_)
               (std/srfi/113#dyadic-sob-difference!
                _result86794_
                _result86794_
                _sob86796_))
             (cdr _sobs86792_))
            (std/srfi/113#sob-cleanup! _result86794_)))))
  (define std/srfi/113#dyadic-sob-difference!
    (lambda (_result86778_ _sob186779_ _sob286780_)
      (let ((_sob1-ht86782_
             (##structure-ref _sob186779_ '1 std/srfi/113#sob '#f))
            (_sob2-ht86783_
             (##structure-ref _sob286780_ '1 std/srfi/113#sob '#f))
            (_result-ht86784_
             (##structure-ref _result86778_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key86786_ _value186787_)
           (let ((_value286789_ (table-ref _sob2-ht86783_ _key86786_ '0)))
             (table-set!
              _result-ht86784_
              _key86786_
              (- _value186787_ _value286789_))))
         _sob1-ht86782_))))
  (define std/srfi/113#set-difference
    (lambda _sets86776_
      (std/srfi/113#check-all-sets _sets86776_)
      (apply std/srfi/113#sob-difference _sets86776_)))
  (define std/srfi/113#bag-difference
    (lambda _bags86774_
      (std/srfi/113#check-all-bags _bags86774_)
      (apply std/srfi/113#sob-difference _bags86774_)))
  (define std/srfi/113#sob-difference!
    (lambda (_sob186769_ . _sobs86770_)
      (for-each
       (lambda (_sob86772_)
         (std/srfi/113#dyadic-sob-difference!
          _sob186769_
          _sob186769_
          _sob86772_))
       _sobs86770_)
      (std/srfi/113#sob-cleanup! _sob186769_)))
  (define std/srfi/113#set-difference!
    (lambda _sets86767_
      (std/srfi/113#check-all-sets _sets86767_)
      (apply std/srfi/113#sob-difference! _sets86767_)))
  (define std/srfi/113#bag-difference!
    (lambda _bags86765_
      (std/srfi/113#check-all-bags _bags86765_)
      (apply std/srfi/113#sob-difference! _bags86765_)))
  (define std/srfi/113#sob-sum
    (lambda (_sob186758_ . _sobs86759_)
      (if (null? _sobs86759_)
          _sob186758_
          (let ((_result86761_ (std/srfi/113#sob-empty-copy _sob186758_)))
            (std/srfi/113#dyadic-sob-sum!
             _result86761_
             _sob186758_
             (car _sobs86759_))
            (for-each
             (lambda (_sob86763_)
               (std/srfi/113#dyadic-sob-sum!
                _result86761_
                _result86761_
                _sob86763_))
             (cdr _sobs86759_))
            _result86761_))))
  (define std/srfi/113#dyadic-sob-sum!
    (lambda (_result86740_ _sob186741_ _sob286742_)
      (let ((_sob1-ht86744_
             (##structure-ref _sob186741_ '1 std/srfi/113#sob '#f))
            (_sob2-ht86745_
             (##structure-ref _sob286742_ '1 std/srfi/113#sob '#f))
            (_result-ht86746_
             (##structure-ref _result86740_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key86748_ _value186749_)
           (let ((_value286751_ (table-ref _sob2-ht86745_ _key86748_ '0)))
             (table-set!
              _result-ht86746_
              _key86748_
              (+ _value186749_ _value286751_))))
         _sob1-ht86744_)
        (table-for-each
         (lambda (_key86753_ _value286754_)
           (let ((_value186756_ (table-ref _sob1-ht86744_ _key86753_ '0)))
             (if (= _value186756_ '0)
                 (table-set! _result-ht86746_ _key86753_ _value286754_)
                 '#!void)))
         _sob2-ht86745_))))
  (define std/srfi/113#bag-sum
    (lambda _bags86738_
      (std/srfi/113#check-all-bags _bags86738_)
      (apply std/srfi/113#sob-sum _bags86738_)))
  (define std/srfi/113#sob-sum!
    (lambda (_sob186733_ . _sobs86734_)
      (for-each
       (lambda (_sob86736_)
         (std/srfi/113#dyadic-sob-sum! _sob186733_ _sob186733_ _sob86736_))
       _sobs86734_)
      _sob186733_))
  (define std/srfi/113#bag-sum!
    (lambda _bags86731_
      (std/srfi/113#check-all-bags _bags86731_)
      (apply std/srfi/113#sob-sum! _bags86731_)))
  (define std/srfi/113#sob-xor!
    (lambda (_result86713_ _sob186714_ _sob286715_)
      (let ((_sob1-ht86717_
             (##structure-ref _sob186714_ '1 std/srfi/113#sob '#f))
            (_sob2-ht86718_
             (##structure-ref _sob286715_ '1 std/srfi/113#sob '#f))
            (_result-ht86719_
             (##structure-ref _result86713_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_key86721_ _value286722_)
           (let ((_value186724_ (table-ref _sob1-ht86717_ _key86721_ '0)))
             (if (= _value186724_ '0)
                 (table-set! _result-ht86719_ _key86721_ _value286722_)
                 '#!void)))
         _sob2-ht86718_)
        (table-for-each
         (lambda (_key86726_ _value186727_)
           (let ((_value286729_ (table-ref _sob2-ht86718_ _key86726_ '0)))
             (table-set!
              _result-ht86719_
              _key86726_
              (abs (- _value186727_ _value286729_)))))
         _sob1-ht86717_)
        (std/srfi/113#sob-cleanup! _result86713_))))
  (define std/srfi/113#set-xor
    (lambda (_set186710_ _set286711_)
      (std/srfi/113#check-set _set186710_)
      (std/srfi/113#check-set _set286711_)
      (std/srfi/113#check-same-comparator _set186710_ _set286711_)
      (std/srfi/113#sob-xor!
       (std/srfi/113#sob-empty-copy _set186710_)
       _set186710_
       _set286711_)))
  (define std/srfi/113#bag-xor
    (lambda (_bag186707_ _bag286708_)
      (std/srfi/113#check-bag _bag186707_)
      (std/srfi/113#check-bag _bag286708_)
      (std/srfi/113#check-same-comparator _bag186707_ _bag286708_)
      (std/srfi/113#sob-xor!
       (std/srfi/113#sob-empty-copy _bag186707_)
       _bag186707_
       _bag286708_)))
  (define std/srfi/113#set-xor!
    (lambda (_set186704_ _set286705_)
      (std/srfi/113#check-set _set186704_)
      (std/srfi/113#check-set _set286705_)
      (std/srfi/113#check-same-comparator _set186704_ _set286705_)
      (std/srfi/113#sob-xor! _set186704_ _set186704_ _set286705_)))
  (define std/srfi/113#bag-xor!
    (lambda (_bag186701_ _bag286702_)
      (std/srfi/113#check-bag _bag186701_)
      (std/srfi/113#check-bag _bag286702_)
      (std/srfi/113#check-same-comparator _bag186701_ _bag286702_)
      (std/srfi/113#sob-xor! _bag186701_ _bag186701_ _bag286702_)))
  (define std/srfi/113#sob-product!
    (lambda (_n86692_ _result86693_ _sob86694_)
      (let ((_rht86696_
             (##structure-ref _result86693_ '1 std/srfi/113#sob '#f)))
        (table-for-each
         (lambda (_elem86698_ _count86699_)
           (table-set! _rht86696_ _elem86698_ (* _count86699_ _n86692_)))
         (##structure-ref _sob86694_ '1 std/srfi/113#sob '#f))
        _result86693_)))
  (define std/srfi/113#valid-n
    (lambda (_n86690_)
      (if (integer? _n86690_)
          (if (exact? _n86690_) (positive? _n86690_) '#f)
          '#f)))
  (define std/srfi/113#bag-product
    (lambda (_n86687_ _bag86688_)
      (std/srfi/113#check-bag _bag86688_)
      (std/srfi/113#valid-n _n86687_)
      (std/srfi/113#sob-product!
       _n86687_
       (std/srfi/113#sob-empty-copy _bag86688_)
       _bag86688_)))
  (define std/srfi/113#bag-product!
    (lambda (_n86684_ _bag86685_)
      (std/srfi/113#check-bag _bag86685_)
      (std/srfi/113#valid-n _n86684_)
      (std/srfi/113#sob-product! _n86684_ _bag86685_ _bag86685_)))
  (define std/srfi/113#bag-unique-size
    (lambda (_bag86682_)
      (std/srfi/113#check-bag _bag86682_)
      (table-length (##structure-ref _bag86682_ '1 std/srfi/113#sob '#f))))
  (define std/srfi/113#bag-element-count
    (lambda (_bag86679_ _elem86680_)
      (std/srfi/113#check-bag _bag86679_)
      (table-ref
       (##structure-ref _bag86679_ '1 std/srfi/113#sob '#f)
       _elem86680_
       '0)))
  (define std/srfi/113#bag-for-each-unique
    (lambda (_proc86673_ _bag86674_)
      (std/srfi/113#check-bag _bag86674_)
      (table-for-each
       (lambda (_key86676_ _value86677_) (_proc86673_ _key86676_ _value86677_))
       (##structure-ref _bag86674_ '1 std/srfi/113#sob '#f))))
  (define std/srfi/113#bag-fold-unique
    (lambda (_proc86664_ _nil86665_ _bag86666_)
      (std/srfi/113#check-bag _bag86666_)
      (let ((_result86668_ _nil86665_))
        (table-for-each
         (lambda (_elem86670_ _count86671_)
           (set! _result86668_
                 (_proc86664_ _elem86670_ _count86671_ _result86668_)))
         (##structure-ref _bag86666_ '1 std/srfi/113#sob '#f))
        _result86668_)))
  (define std/srfi/113#bag->set
    (lambda (_bag86657_)
      (std/srfi/113#check-bag _bag86657_)
      (let ((_result86659_
             (std/srfi/113#make-sob
              (##structure-ref _bag86657_ '2 std/srfi/113#sob '#f)
              '#f)))
        (table-for-each
         (lambda (_key86661_ _value86662_)
           (std/srfi/113#sob-increment! _result86659_ _key86661_ _value86662_))
         (##structure-ref _bag86657_ '1 std/srfi/113#sob '#f))
        _result86659_)))
  (define std/srfi/113#set->bag
    (lambda (_set86650_)
      (std/srfi/113#check-set _set86650_)
      (let ((_result86652_
             (std/srfi/113#make-sob
              (##structure-ref _set86650_ '2 std/srfi/113#sob '#f)
              '#t)))
        (table-for-each
         (lambda (_key86654_ _value86655_)
           (std/srfi/113#sob-increment! _result86652_ _key86654_ _value86655_))
         (##structure-ref _set86650_ '1 std/srfi/113#sob '#f))
        _result86652_)))
  (define std/srfi/113#set->bag!
    (lambda (_bag86644_ _set86645_)
      (std/srfi/113#check-bag _bag86644_)
      (std/srfi/113#check-set _set86645_)
      (std/srfi/113#check-same-comparator _set86645_ _bag86644_)
      (table-for-each
       (lambda (_key86647_ _value86648_)
         (std/srfi/113#sob-increment! _bag86644_ _key86647_ _value86648_))
       (##structure-ref _set86645_ '1 std/srfi/113#sob '#f))
      _bag86644_))
  (define std/srfi/113#bag->alist
    (lambda (_bag86638_)
      (std/srfi/113#check-bag _bag86638_)
      (std/srfi/113#bag-fold-unique
       (lambda (_elem86640_ _count86641_ _list86642_)
         (cons (cons _elem86640_ _count86641_) _list86642_))
       '()
       _bag86638_)))
  (define std/srfi/113#alist->bag
    (lambda (_comparator86626_ _alist86627_)
      (let* ((_result86629_ (std/srfi/113#bag _comparator86626_))
             (_ht86631_
              (##structure-ref _result86629_ '1 std/srfi/113#sob '#f)))
        (for-each
         (lambda (_assoc86634_)
           (let ((_element86636_ (car _assoc86634_)))
             (if (not (hash-key? _ht86631_ _element86636_))
                 (std/srfi/113#sob-increment!
                  _result86629_
                  _element86636_
                  (cdr _assoc86634_))
                 '#!void)))
         _alist86627_)
        _result86629_)))
  (define std/srfi/113#sob-hash
    (lambda (_sob86616_)
      (let* ((_ht86618_ (##structure-ref _sob86616_ '1 std/srfi/113#sob '#f))
             (_hash86620_
              (std/srfi/128#comparator-hash-function
               (##structure-ref _sob86616_ '2 std/srfi/113#sob '#f))))
        (std/srfi/113#sob-fold
         (lambda (_element86623_ _result86624_)
           (+ (_hash86620_ _element86623_) _result86624_))
         '5381
         _sob86616_))))
  (define std/srfi/113#set-comparator
    (##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
    (##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 (_sob86611_ _port86612_)
      (display (if (##structure-ref _sob86611_ '3 std/srfi/113#sob '#f)
                   '"&bag["
                   '"&set[")
               _port86612_)
      (std/srfi/113#sob-for-each
       (lambda (_elem86614_)
         (display '" " _port86612_)
         (write _elem86614_ _port86612_))
       _sob86611_)
      (display '" ]" _port86612_))))
