Noether.Algebra.Single.Semigroup
data SemigroupE
class SemigroupK op a s
type SemigroupC op a
type family SemigroupS (op :: k) (a :: Type) = (r :: SemigroupE)