Michail Zarecenskij is a software engineer and language designer specializing in Kotlin. With nearly a decade of experience at JetBrains, Michail has played a few roles in Kotlin's evolution, including leading teams in compiler development, IDE integration, core tooling like Dokka, and language specification. Currently serving as the Lead Language Designer, he oversees the design and productization of Kotlin's features, ensuring they align with the needs of developers. His expertise spans from compiler architecture to teaching JVM programming languages
Kotlin's nullability model is one of its core features. In this talk, we’ll explore how this model can be generalized to restricted union types specifically designed for handling error cases.
Additionally, we’ll discuss how errors can currently be represented in Kotlin, covering approaches such as nullable types, exceptions, sealed hierarchies, and Result-like classes.