function curring(fn,args=[]){
let l = fn.length
return function(...arg){
let newArgs = [...arg,...args]
if(newArgs.length == l){
return fn(...newArgs)
}else{
return curring(fn,newArgs)
}
}
}
function sum(a,b,c,d){
return a+b+c+d
}
let newFn = curring(sum)
console.log(newFn(1)(2)(3)(4))