[Haskell-cafe] Generalizing (++) for monoids instead of using (<>)