function asyncAnd (validators) {
  return function (...args) {
    return validators.reduce(async (valid, fn) => {
      const r = await valid
      if (!unwrapValidatorResponse(r)) return r
      return unwrapNormalizedValidator(fn).apply(this, args)
    }, Promise.resolve(true))
  }
}
@param validators
@return {function(...[*]=): Promise<boolean>}