Nice side effects:
- Subrecord name comparison now uses magic number instead of string (faster)
- Improves the error message for unknown subrecords: will print the record in question instead of failing to read the next record with a strange error
The progress is not particularly accurate. It simply uses the current / total number of records written/read as indication. Cell records are currently the largest by far, but there is a good chance that could be optimized using a change tracking system.