def __eq__(self, other: tp.Any) -> bool: if not issubclass(type(other), Number): return False elif other.precedence > self.precedence: return other.__eq__(self) else: return issubclass(type(other), RealNum) and self.value == other.value