break up Data.Monoid, put some wrappers in their own module