fix model equality comparer

overriding == should always first check that the "other" is a relevant type for comparing too first