async def METHOD_NAME() -> AsyncGenerator[Any, None]:
    # Wrap the generator such that each iteration runs
    # in the executor. Then rationalise the raised
    # errors so that it ends.
    def _inner() -> Any:
        # https://bugs.python.org/issue26221
        # StopIteration errors are swallowed by the
        # run_in_exector method
        try:
            return next(iterable)
        except StopIteration:
            raise StopAsyncIteration()
    loop = asyncio.get_running_loop()
    while True:
        try:
            yield await loop.run_in_executor(None, copy_context().run, _inner)
        except StopAsyncIteration:
            return