Typing an async generator as AsyncIterator or AsyncIterable prevents wrapping it with contextlib.aclosing