First of many tweaks to IfCondition