This is currently done manually in `tket-py` when implementing pytket passes. We should have it in `tket` instead, so it can be tested and reused See https://github.com/CQCL/tket2/pull/1266#discussion_r2556155531_