Note: this is not a law-abiding Monoid.
Note: this is not a law-abiding Monoid. It only works if zero is invoked exactly once for a reduction.
Specifically it doesn't work if there are multiple Consumers, as there is no way to add two together, the state they carry is always calculated dependent on the previous (left-side) state.