function partialUsingArguments(fn) {
let args1 = Array.prototype.slice.call(arguments, 1)
return function() {
let args2 = Array.prototype.slice.call(arguments, 0)
return fn.apply(this, args1.concat(args2))
}
} 
function partialUsingArguments(fn) {
let args1 = Array.prototype.slice.call(arguments, 1)
return function() {
let args2 = Array.prototype.slice.call(arguments, 0)
return fn.apply(this, args1.concat(args2))
}
}