Use `MonadIO` in `fromSocketN`