GTR037 — Drop redundant <param name> (codemod)

Contract: behaviour-preserving.

Claim

Dropping a name byte-equal to the argument-derived name is a parse-level no-op.

Proof

Galaxy derives the name as argument.lstrip("-").replace("-", "_") (tool_util/parser/util.py:44) when name is absent; the codemod’s _derived_name mirrors it exactly and drops only on byte equality — Galaxy computes the identical name, so every Cheetah $name reference and by-name cross-reference resolves unchanged.