var str1 : String = "hello" // typeinfo here is redundant
println(str1)
println(str1.getClass)

var str2 = "hello" // typeinfo here is inferred
println(str2)
println(str2.getClass)

//str1 = 1 //ERROR at complile time if you uncomment the assignment
//str2 = 1 //ERROR at complile time if you uncomment the assignment

//Type is inferred in a number of places. Inferrence is at compile time.