I'm not against this whole effort, but please remember to take classes (and subclassing) into account when coming up with a proposal. They make it trickier than just "things that aren't the same type aren't equal".
(On the other hand, AnyHashable does something already, so maybe this is solved enough.)