monoid and return