Refactoring Semigroup/Monoid (was: instance Applicative Data.Map)