The assignment operator := has a higher priority than the boolean operators. Therefore, expressions like c := a≡b are interpreted as (c := a)≡b, which is most likely not the intent of the user. The same holds for other boolean operators. However, and, or and xor enforce parens around their arguments, such that the wrong expression immediately can be recognized.
