Two functions share the same source name and arity but differ only because one takes a value-class parameter: `fun render(x: Id)` and `fun render(x: Int)` where `Id` wraps `Int`. Why does this compile without a JVM signature clash, even though `Id` is erased to `int`?
@JvmInline
value class Id(val raw: Int)
fun render(x: Id) {}
fun render(x: Int) {}