R&D considered it a few years back. It's kind of just a coincidence of terminology "concatenate" on arrays and "concatenate" on strings, and conflating them in the graphical syntax seemed wrong. It would be equivalent to saying "the + symbol is used to mean both addition and string concatenation, therefore the Add primitive should do both." We try to avoid that kind of concepts compounding, so the string concat got kicked out of consideration.
In the time since then, we've come back to the question repeatedly of how to build "collectors" on the borders of loops that could do arbitrary operations (concat, product, sum, and error merge being the most common). I think there's an idea about it somewhere in the Exchange.