lib/async.js
function fail(err, callback) {
  if (!_.isFunction(callback)) return
  let uError = new Error('Unknown Error')
  err = err ? _.isError(err) ? err : _.isString(err) ? new Error(err) : uError : uError
  process.nextTick(function () { callback(err) })
}
function fail(err, callback) {
  if (!_.isFunction(callback)) return
  let uError = new Error('Unknown Error')
  err = err ? _.isError(err) ? err : _.isString(err) ? new Error(err) : uError : uError
  process.nextTick(function () { callback(err) })
}
wrap async error callback