fun calc(x: List?, y: Int?): Int { x?.get(y!! - 1) // y!! above should not provide smart cast here val yy: Int = y return yy + (x?.size ?: 0) }