A value class wraps a single value to add type-safety without runtime object overhead in many cases (it can be inlined). It’s useful for strong domain types like `UserId` vs `String`.
@JvmInline
value class UserId(val value: String)
fun loadUser(id: UserId) = id.value