the raw numeric block type
the block's current version (selects the point encoding for lines)
the raw block body bytes
Optionaldeclaredthe length the block header declared, when it overran the file
Corrupt files exist in the wild; keeping the original figure lets them round-trip byte for byte instead of being silently rewritten.
the unread tail of the block, preserved for round-tripping
the block's minimum reader version
the header byte between the block length and the versions
Zero in every well-formed file seen, but preserved rather than assumed.
the block-type discriminant
a block whose type we don't parse, kept verbatim for round-tripping