> >> class X; def == o; :great; end; def != o; :horrible; end; end > => nil > >> x = X.new > => #<X:0x419948> > >> x == 0 > => :great > >> x != 0 > => :horrible == and != should not be able to contradict each other. Is this a bug? I looked at the code and it looks intentional. Should it be allowed?