The cycle: QuickCheck -> semigroups semigroups -> hashable semigroups -> unordered-containers unordered-containers -> hashable unordered-containers -> QuickCheck # test suite only hashable -> QuickCheck # test suite only