Should we check actual read size from `istream::read` with `istream::gcount`, or do we assume `istream::read` never fails?