We recently added the CommutativeOptimization pass to supersede both CommutativeCancellation and CommutativeInverseCancellation. From @alexanderivrii's benchmarks it seems to provide better results at similar runtime (and we might be able to boost runtime further), so we should replace CommutativeCancellation in optimization levels 1-3 with the new CommutativeOptimization pass.
Given that this is a central change, we should do this early in the 2.4 dev cycle to have sufficient time to test the impact.