Earlier quoted context omitted.
I can't think of any way for 1 * 1 to be concatenation. I think the point GP was making is that a monoid has something to do with a function f that takes two arguments a and b where there is a single value for b such that f(a, special_value) == a. I think. As someone who doesn't really understand FP concepts I would probably call those functions "functions that can sensibly be used in a call to array.reduce"
It doesn't need to have a perfect metaphor for all possible cases, just something you can picture in an instant: 'behaves like a concating variable length box sequences'. It's a mnemonic / learning aid, not a formal spec. But I can stretch it :) +: concat marbles sequence * : concat prime factors sequence ++: concat box sequence For * , it can also be reduced to + via logarithms. I just don't have a good metaphor for…
Skimming through my thesaurus, I found a word for it: "Totalize".