better monoid example