bug fix:

* do not introduce unnecessary implicit cast for IfExpr