Rewrite our Equals implementations so they don't crash when comparing incompatible objects