JSFiddle - React, Tailwind, and code Playground

JavaScript

function say(a){
    var inner = function(b){
        return say(a+b);
    };
    
    inner.valueOf = inner.toString = function(){
        return a;
    };
    
    return inner;
}

console.log(say('h'));
console.log(say('h')('e'));
console.log(say('h')('e')('l'));
console.log(say('h')('e')('l')('l'));
console.log(say('h')('e')('l')('l')('o'));
console.log(say('h')('e')('l')('l')('o')(' ')('w')('o')('r')('l')('d')('!'));