Maybe you didn't realize async/await don't need an event loop? Driving an async/await-based coroutine is just as simple as driving a yield-from-based one (`await` does exactly the same thing as `yield from`).
In [1]: def fib():...: a, b = 1, 1...: while True:...: yield a...: a, b = b, a+b...:In [2]: from itertools import takewhileIn [3]: list(takewhile(lambda x: x<200, fib()))Out[3]: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]
Maybe the rest of the discussion should be about deprecation vs. SyntaxError in Python 3.7.