The latter is alright. It will lead to code duplication for now, but the old implementation can be removed in 7.2.

(Just to be sure: The changes for `liftSemigroup` can obviously stay as they are because they don't break source compatibility.)