Is it possible to define '+' operator for string as '*' do for them?

I can only speak for myself, but the blurb about free monoids just reeks of This Decision Is Correct Because I Am Smarter Than You

like yes, I do know what a monoid is, and yes I see that String endowed with * is one, but it just feels pretty pretentious to be appealing to a definition from mathematical objects that are super irrelevant. I would have much preferred that just say “* is used for string concatenation because + often implies commutativity” and leave it at that.

8 Likes