Guido van Rossum added the comment:
The word coroutine has a more specific meaning though (and we have iscoroutine*() inspection functions to check for it).
Maybe we should switch all these to "awaitable"?
Also note that in proactor_events.py, sock_connect() is *not* a coroutine. In fact I'm not sure what it is -- it calls self._proactor.connect() which appears to return None from the code in windows_events.py. That's presumably a separate bug.