Sparen, DNH does not have first-class functions.
That being said concatenation doesn't make much sense over functions unless you're just talking about composition so I'm not sure how useful it'd be anyways.
Anyway more specifically the concatenate operator is defined on arrays, as in [1,2,3] ~ [4,5,6] = [1,2,3,4,5,6], but strings are simply arrays of characters
i.e. "melon" = ['m','e','l','o','n'] so it of course is valid for string concatenation.