This paper: https://www.researchgate.net/publication/319855993_Applying_Optimizations_for_Dynamically-typed_Languages_to_Java says it can eliminate boxing etc.
Given this information, does it really make sense to add value types to the language specification?
Value types help (potentially a lot) in that they can make such objects more efficient. They also make it easier for the VM to prove fields won’t be shared (Rule: if it’s a value type, the value won’t be shared, because it can’t)