The way the in operator works, I am pretty sure that any use of the operator needs to be in parenthesis, eg ("left leg" in broken); I think it evaluates last.  EDIT: Yeah, after testing it, ("a" in list("a","b") && 1) evaluates to "a" in (list() && 1) which is false