def __add__(self, other) -> AtomNumber:
if isinstance(other, int) or isinstance(other, float):
return AtomNumber(self.value + other)
if not isinstance(other, AtomNumber):
raise ValueError(f"{other} is not a number")
return AtomNumber(self.value + other.value)