If updated @vjovanov

Now If node case should return exact types: Rep[Int], Rep[Double], but for calls like:

n<-if(cond) 1 else 2
d<-1:n

in Colon node case, the type of n is AnyVal, which makes problems when we use it as range in For loop.