Lots of useful discussion at https://github.com/python/asyncio/pull/465. Can also add examples and scenarios from there.