Checkpoint

Part way to improved InvalidDataException diagnostics. All tests pass.