An inline value class wrapping an `Int` is normally erased to the primitive. What forces the compiler to box it into the wrapper type, and how is the boxed form represented?
@JvmInline value class UserId(val raw: Int)
fun show(id: UserId) {} // call site A
fun any(x: Any) {}
val u = UserId(7)
show(u) // A
any(u) // B