The following should result in a compile error: var x:Int? = 5 var y:Int? y = x! // compiler error, unwrapping is redundant The unnecessary unwrapping gives the wrong impression about the type of y — namely that it is Int.