convert Monoid to Semigroup

addresses #372