Agree. Before writing this I had never noticed how much bug prone behaviour
in py2 has been solved in py3...
On May 11, 2014 12:37 AM, "Daniel McDonald" <notifications@github.com>
wrote:

> In doc/source/development/py3.rst:
>
> > +        return not self == other
> > +
> > +Otherwise, using the operator `!=` will lead to unexpected results in
> > +Py2 because it will compare identity, not equality::
> > +
> > +    class Foo(object):
> > +        def __eq__(self, other):
> > +            return True
> > +
> > +    print(Foo() != Foo())
> > +
> > +That prints `True` in Py2 (because each instance has a different `id`)
> > +but prints `False` in Py3 (the opposite of what `__eq__` returns,
> > +which is the desired behaviour).
> > +
> > +Always test that both `==` and `!=` are behaving correctly, e.g.::
>
> sneaky...
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/biocore/scikit-bio/pull/310/files#r12506617>
> .
>