use `object.__eq__`(default object identity comparison) as default implementation of same_as. This should be OK since `EqualOp` and `NotEqualOp` are pure Python object, `object.__eq__` is sufficient.