[project @ 2005-10-25 09:11:25 by ross]
Change the Monoid instance for functions (as proposed on the libraries
list, and interpreting silence as assent) from composition to pointwise
combination.
Rationale: The new instance is consistent with the instances for tuples,
it's compositional, in that it builds instances for complex types out
of instances for simpler ones, and it makes this module Haskell 98.
Downside: the old instance was easy to use with Writer monads, and ShowS
was a special case. You can get that effect using the new Endo type,
but you have to wrap and unwrap the newtype.
Also added a few other simple monoids: dual, sum and product.