Wouldn't it be easier to just let an assignment always evaluate to whatever value was assigned? Is that how it is in C? What's so bad about that?,(reply>), The issue is that "if (x=5)" and "if (x==5)" are too similar, meaning it's easy to make simple mistakes that the compiler can't catch because it's still syntactically valid.<br>You wouldn't get the same issue with "if (x:= 5)" and "if (x == 5)".