Incompatible superclass

A superclass might not have all the same methods as an `Equatable` - this PR aims to solve that. In particular comparing with an `Object.new` will result in a `NoMethodError`.