Text this: Algebraic properties of if-then-else and commutative three-valued tests.