Comment by camgunz
Oh no you're right it's a pain in the ass and weird. But I think it's the way because there's no good reason to have more than one event loop.
Also... maybe it started out as generator wrappers? I think I read something that said that.
> no good reason to have more than one event loop
Per thread—once you start working in multiple threads you have the choice to have one global event loop, which comes at the cost of all async code being effectively serialized as far as threads are concerned*, or one event loop per thread.
* Which can be fine if your program is mostly not async but you have that one stubborn library. Yay async virality.