JSFiddle - React, Tailwind, and code Playground

JavaScript

const curry = fn => {  
  return (...args1) => (...args2) => ((...args3) => [...args1,...args2, ...args3].reduce((acc, arg) => {
    if (typeof arg !== 'number') {
      window.open('https://www.youtube.com/watch?v=_VxQrbNPxO4')
      throw Error('?!')
    }
    return fn.call(fn, acc, arg)
  }, 0))
}

const sum = curry((x, y) => x + y)

console.log(sum(4)(6)(10)) // как избавится от этого уёбищного унарного оператора?!