Partly related but generators clicked for me when I heard them described as, "instead of pushing data into a function, you're pulling results out of a function."<p>I've been doing a lot of asyncio lately and just having a mental model of my pipelines working by pulling results through them has been invaluable.