lib/async.js
function cb(callback) {
  callback = _.isArguments(callback) ? acb(callback) : callback
  return function (err, result) {
    if (err) return fail(err, callback)
    done(result, callback)
  }
}
function cb(callback) {
  callback = _.isArguments(callback) ? acb(callback) : callback
  return function (err, result) {
    if (err) return fail(err, callback)
    done(result, callback)
  }
}
wrap callback