monoid groundwork + sumM