code: function next(err) {
        var fn = fns[++index]
        var params = slice.call(arguments, 0)
        var values = params.slice(1)
        var length = input.length
        var pos = -1
  
        if (err) {
          done(err)
          return
        }
  
        /* Copy non-nully input into values. */
        while (++pos < length) {
          if (values[pos] === null || values[pos] === undefined) {
            values[pos] = input[pos]
          }
        }
  
        input = values
  
        /* Next or done. */
        if (fn) {
          wrap(fn, next).apply(null, input)
        } else {
          done.apply(null, [null].concat(input))
        }
      }
docs: /* Run the next `fn`, if any.