
If your Python class implements __add__, it should usually return a new instance of your class, not an int:
class C:
def __init__(self, x):
self.x = x
def __add__(self, other):
return C(self.x + other.x)
c1 = C(10)
c2 = C(15)
vars(c1 + c2) # {'x':25}
