Since it's already manually parsing the ChunkID and size... what if we just parsed the chunk data directly using the inner structs instead of seeking back and using the KnownChunk wrapper?
Could we eliminate the need for KnownChunk entirely? (at the cost of needing chunk parsing/writing code... but I think we're already going to need code to convert back and forth between inner and KnownChunk wrapped variants... maybe it's cleaner to just manually handle the ID and size? (especially since there isn't a good way to know the size of the inner data when creating or modifying a new chunk before it's written.
Since it's already manually parsing the ChunkID and size... what if we just parsed the chunk data directly using the inner structs instead of seeking back and using the KnownChunk wrapper?
Could we eliminate the need for KnownChunk entirely? (at the cost of needing chunk parsing/writing code... but I think we're already going to need code to convert back and forth between inner and KnownChunk wrapped variants... maybe it's cleaner to just manually handle the ID and size? (especially since there isn't a good way to know the size of the inner data when creating or modifying a new chunk before it's written.