Aside from “Wouldn’t it be cool if …”, do you have a use-case for effectively special casing these objects? It is kinda cool, but we need more practical reasons for this sort of change.
For example, 99.99% of sum() calls will be summing something other than a range object or a geometric series, where the summation will be O(N). What advantages do we gain by making the other 0.01% of calls faster, if the cost is that the other 99.99% of sums are slowed down by having to try to call a missing __sum__ dunder first?
(By the way, I think that I’m being optimistic to suggest that as many as 1 in ten thousand sums are of a range object.)
Adding five new dunders (what about a sixth, for products?) has many costs. There is the one-off cost of adding them to the language in the first place. The on-going maintenance and testing cost. The extra memory usage. The runtime costs of testing for their existence. The extra complexity for people to learn.
All, or some, of those costs might be justified if there are good, strong use-cases where the benefits are significant. But you would need to cover each proposed dunder separately, and justify it on its own merits, not just as a batch.