fix assignment vs. equality bug