OP

Added __eq__ and __hash__ to Op Class and deleted them in function with props attribute.
That is ok.  It's the error that would have happend had the user not implemented \__eq__() anyway.  Which is the point of using super()