By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Add --skip-th-splices flag to mutation plugin Yesod/Persistent codebases produce TH-expanded code that lives in the HsExpr AST as 'XExpr (ExpandedThingTc orig expanded)' where 'orig' is an OrigExpr wrapping the unexpanded 'HsUntypedSplice' or 'HsTypedSplice' node. Mutations recorded inside the expansion point at the splice's source location and rarely correspond to anything testable, so they inflate the timeout and survivor counts without informing the user. The plugin grows an opt-in --skip-th-splices CLI option that, when set, leaves splice expansions un-instrumented. Off by default to preserve current behaviour for projects that don't have this problem. mutationCheck.nix and addManifest.nix grow a matching 'skipThSplices' argument that wires through to the plugin flag.