allow newer haskell-semigroups