JSFiddle - React, Tailwind, and code Playground

HTML

<input id="tessssss">

JavaScript

'use strict';

let sum = (arr) => arr.reduce((a, b) => a + b);
let addGenerator = (numArgs, prevArgs) => {
	console.log(numArgs)
  console.log(prevArgs)
  return function () {
  	console.log(arguments)
    let totalArgs = prevArgs.concat(Array.from(arguments));
    if (totalArgs.length === numArgs) {
      return sum(totalArgs);
    }
    return addGenerator(numArgs, totalArgs);
  };
};

let add = addGenerator(2, []);

add(2, 5); // 7
add(2)(5); // 7
add()(2, 5); // 7
add()(2)(5); // 7
add()()(2)(5); // 7
document.getElementById("tessssss").value = add()(6,4);