My objection to the ``__eq__`` and ``__ne__`` methods, voiced offline but not here, is that you're adding code to the implementation which is only used by the tests. Even if the test helper that you have to write is ugly, it's better than polluting the implementation.