This is a bit of a weird way to use `Async.withTimeout()`. It would be clearer to just wrap it around the main return value. (If we want to avoid creating the timeout in the case above where it's already resolved, we could just return early there. Or, you could make the case that `Async.withTimeout()` itself should check if the incoming promise is already resolved/rejected, and if so, just return it instead of doing the timeout.)