Due to current implementation in annotation, BoolElement inherits from int instead of bool (actually bool is @final and not subclassable). This causes inconsistency like:
reveal_type(bool | BoolElement) -> int
reveal_type(bool ** BoolElement) -> Any
The only fix is to explicitly list all dunders for all subclasses of ObjectifiedDataElement, so they are no more subclass of builtin types, and therefore overridable.
Due to current implementation in annotation, BoolElement inherits from
intinstead ofbool(actuallyboolis@finaland not subclassable). This causes inconsistency like:The only fix is to explicitly list all dunders for all subclasses of
ObjectifiedDataElement, so they are no more subclass of builtin types, and therefore overridable.