By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Mutation redundancy: never let a kill-row mismatch flip the verdict Code-review finding: writeKillRow used 'fail' on a TestId-alignment length mismatch, crashing the child. The parent records a non-zero child exit as a KILL, so a misaligned row on a *survivor* would silently mis-score it as killed — letting the optional redundancy analysis corrupt the core mutation verdict. Extract the pure 'buildKillRow :: [TestId] -> [Bool] -> Either String TestKillRow' (Left on length mismatch) and have the child skip+warn on Left instead of crashing, so the child still exits on its real verdict. Unit-test the aligned, mismatched, and empty cases.