Follow Clojure contract of equiv and not equals