algebraic-classes is now compatible with Data.Semigroup