why people cannot implement == correctly?