ghc-commutative-semigroups