By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Store source file path in MutationRecord; cache source read per module - Add mutRecSourceFile :: Maybe (Path Rel File) to MutationRecord, serialized as a plain string in JSON with backward-compatible optional decoding - Read the source file once per module in runInstrument (via ms_location from ModSummary) and store the lines in InstrumentEnv, so all mutation sites in a module share the same read instead of re-reading the file per site - formatMutationLog uses mutRecSourceFile directly instead of reconstructing the path from the module name