Классы данных (data class) в Kotlin предназначены для хранения данных и автоматически предоставляют полезные методы: equals(), hashCode(), toString(), copy() и функции для деструктуризации.
В Kotlin Nothing — это специальный тип, который обозначает отсутствие значения, и используется для функций, которые никогда не возвращают результат (например, всегда выбрасывают исключение или бесконечно выполняются).
В Kotlin, если обратиться к объекту с nullable типом напрямую без проверки (например, вызвать метод или получить свойство), то во время выполнения программы будет выброшено исключение NullPointerException.