Making sense of generators, coroutines, and “yield from” in Python | Hacker News Reader