I think the unexpected thing is that it *is* being parsed as two parameters, not as one (the one surrounded by parentheses). I would expect it to give an error such as "if: invalid format" - i.e. it's missing a command. Parentheses do not define a grouping anywhere but in a conditional....
I mean - I see that as
//if ([color:red]x[/color] [color:blue]isin[/color] [color:red]x, say yes![/color])
operand operator operand...but maybe I'm just expecting it to be like certain other languages ;P