Because both `read` and `write` are `read()`ing and `seek()`ing all over the place and I wanted to return the buffer to a consistent state.

It's more obvious for `write` as one of the last operations is to write the size at position `seek(4)`. Without `seek(0)` I then cannot re-use the immediately.