Forward-compatibility for Semigroup/Monoid proposal
Forward-compatibility for Semigroup/Monoid proposal

This makes the code compatible with some future GHC which will make
Semigroup a superclass of Monoid... there's of course no guarantee there
won't be other changes needed ;)

simonmar/alex,simonmar/alex,alanz/Alex,alanz/Alex