Monoid Identity Laws

I think these two are backwards.  If I understand correctly, the left identity should be `m.zero().concat(m)` and the right identity `m.concat(m.zero())`.  Those should correspond to `e * m = m` and `m * e = m` respectively. #21