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')('!'));