Розбираємося, як читати «страшні» повідомлення компілятора Kotlin про nullability й перекладати їх на зрозумілі причини: чому
T? не можна використовувати як
T, звідки беруться помилки
Type mismatch і
nullable receiver, як обирати між
?.,
?:, перевіркою
if і «небезпечним»
!!, а також що означає
Smart cast is impossible і як це виправляти через знімок у
val.