index.js
function _curry (n, fn, args) {
  args = args || []
  return function partial () {
    var rest = arrayFrom(arguments)
    var allArgs = concat(args, rest)
    return n > length(allArgs)
      ? _curry(n, fn, allArgs)
      : _call(fn, allArgs.slice(0, n))
  }
}
function _curry (n, fn, args) {
  args = args || []
  return function partial () {
    var rest = arrayFrom(arguments)
    var allArgs = concat(args, rest)
    return n > length(allArgs)
      ? _curry(n, fn, allArgs)
      : _call(fn, allArgs.slice(0, n))
  }
}
function _curry ( n , fn , args ) { args = args || [ ] return function partial ( ) { var rest = arrayFrom ( arguments ) var allArgs = concat ( args , rest ) return n > length ( allArgs ) ? _curry ( n , fn , allArgs ) : _call ( fn , allArgs . slice ( 0 , n ) ) } }
Returns a function of n-arity partially applied with supplied arguments
@param  {Number}   n         - arity of function to partially apply
@param  {Function} fn        - function to partially apply
@param  {Array}    args = [] - arguments to apply to new function
@return {Function}           - partially-applied function
Returns a function of n - arity partially applied with supplied arguments