Updated later.cancel()
This new version of cancel is built to properly follow the asyncio cancellation contract. This version has been running at Meta for quite a while. The changes were initially discovered while preparing for the pycon.us talk https://www.youtube.com/watch?v=XW7yv6HuWTE