dict.merge(d, ...) and dict.diff(d, ...) are more expressive and have a cleaner semantic.
overloading arithmetic ops for string, list or dict ops might only look elegant at first sight, but discrimination needs to be done at runtime, slowing down the most important arithmetic ops, and do not help much the casual code reader. It also cannot be used in normal python code as older python will fail, only in special internal code.
normal method names can be provided by external modules, so they are backwards compatible and will find more widely adoption.