If in your language, + means string concatenation by convention, then + darn well means string concatenation. If in your language + means "contextually appropriate depending on what arguments you pass to it", then
"abc" + "def" => "egi"
doesn't strike me as obviously wrong.
More broadly, consider a language in which we teach initiates that "Plus adds things in the way you'd expect!"
map = {}
map2 = map + {"key" => "contents"}
What are the contents of map and map2 now? Uh oh. More worrisome:
map = MemcachedWrapper.new
map2 = map + {"key" => "contents"}
What just happened?