bug fix : If should work on predicates as conditionals