In general you want the keys in the equalizer to be equal to the instance variables in the object; at least the ivars that aren't derived from others.