It uses the hashcode and equals functions under the hood, and Kotlin value classes are treated as data classes, so those functions will just delegate to the underlying value. Alternatively, you can override them yourself and add special implementations
I suspect you are missing some key differences between HashMap and WeakHashMap.
This proposal looks really error prone to me.
Is that even a proposal, even? I think it was someone just suggesting a possible use case of allowing extension vars without backing fields.