Yeah, overloading to build a little dsl over some objects sort of is something I’ve seen a lot. See airflow:
https://stackoverflow.com/questions/52389105/how-operator-de...
When it’s used that way, you’ve lost that the operation is semantically analogous to __le__. I think the assumption it has no side effects goes, too.
Edit: not saying I like it, though.