Yury,
This looks like good work.Would it make sense to add this to asyncio in 3.8?
Yes, it is solid. I'd like to see this in asyncio; specifically, I suggest to add a keyword-only argument to loop.create_connection & asyncio.open_connection to use happy eyeballs (off by default). Exposing the "staggered_race()" helper function might also be a good idea, I'm just not super happy with the name.
Twistero, would you be interested in submitting a PR?
Yury