By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Don't mutate compiler-generated code in the instrumenter Stock- and anyclass-derived instance methods (whose MatchGroup carries a Generated origin) and the dictionary/evidence VarBinds the typechecker materialises for an instance (e.g. $dShow, $dEnum) were being instrumented, with source spans pointing at the deriving clause or the instance head. That produced nonsense diffs like `deriving (Show, (\_ _ -> False), ...)` and `instance (\_ -> []) where`, and the resulting mutants — living in generated code rather than the user's own source — could never be killed by a test, so they surfaced as permanently uncovered mutations. Skip FunBinds with a Generated MatchGroup origin and evidence VarBinds. Add Example.DerivingLib as a regression test (its manifest must stay empty) and bump sydtest-mutation-plugin to 0.2.1.0.