(Oh, and since you took my other suggestion below, it would be a little harder to make it always resolve - you couldn't just return the promise returned by `Async.withTimeout()`; you'd have to return a different promise.)