``return`` is now transformed into a ``return nil`` in the async iterator
to work around the no-yield in ``try .. except ..`` closure iterator
limitation.
asyncdispatch.recv no longer guarantees that it will read ALL the data
requested. The underlying WinAPI function doesn't guarantee this and it
already wasn't guaranteed anyway since the socket could disconnect
mid-transmission.