Here you want ``Monoid``