[wip] 8413 and 8373 related changes

See #8413 and #8373 

- [ ] check coverage, especially the handling of duplicate args by Xor and Equivalent

(If anybody would like to take this over, that would be fine with me.)
It is impossible for canonical to change the measure except in an "entropic" sense in that what comes back is guaranteed to be canonical.