You did not want to use ReadBool(), ReadInt() etc... instead of using Read(out bool) etc...

I guess the names are confusing with the other version. They seem doing similar things at the end.