ghc-semigroups