Pre-SIP: Desugaring If statements

I think that the compiler does not have to decide whether it is " actual Boolean" or " dsl Boolean".
it’s too complicated.

Of course the compiler should make optimization. But it is a complex task in general, for example Virtualized-Scala-Reference. So I prefer to have guarantee that neither compiler nor I make mistake.