recv() and try_recv() now return a IoResult