Monoid is a wonderful abstraction.