Signing you in…

Type Aliases and Inline Classes

Some types read like a long address: Map<String, List<Pair<UserId, Role>>> — fine for the compiler, tiring for humans. typealias gives a shorter name without changing runtime — it is still the same underlying type. When you need a distinct type at compile time without wrapping cost on the JVM, @JvmInline value class wraps one value but erases to it at runtime when optimized — perfect for ids and units.

typealias — nickname, not new identity
Content is available with subscription.
Get full access to all courses on the platform for one year with a single payment.
Unlike other platforms that charge per course, here you get everything for one price, and after one year of use there will be no automatic charge for the following year.