Isn't this somewhat the point of python's override capability? You can exactly define what addition means here, just like you have to define what addition means for a matrix or another data structure.

Separately you might find this to be smelly design, but then you should remember that this at least has precedence ¯\_(ツ)_/¯