Lateinit variables are handy when we can't define a variable value upfront. Let's see how we can safely access lateinit variables without crashing our program.
Subscripts make accessing data from lists unambiguous. Let's see how we can add subscripts support for our custom data models.
Ever wanted to create a derived property out of some existing ones? Let's see how we can create computed properties with Kotlin property getters.
Wrappers shouldn't slow down our programs. Let's have a look at how we can use inline classes to create type-safe lightweight wrappers.
Logic inside model classes? This week we will see how to maintain visual boundaries between logic and data in model classes.
Type aliasing is that small but nifty feature that will help you keep your code readable. Let's see how.