monoid alternatives for boolean and numbers