On 4 May 2022, at 11:36, Kevin Bourrillion wrote: >> - "Foo / Foo.ref is a backward default": Kevin and Brian argued that we >> should prefer treating B3 classes as reference-default, with something like >> '.val' to opt in to a primitive value type >> > > I will say that I have not personally found the opposition to this change > to be nearly as strong as the principal arguments in favor. It creates a > very valuable uniformity in how things work. I hope it goes this way.
(This is hard to parse without that last little sentence. I think I agree.) For one thing, you can instantly see, by inspection of the source code, whether a given variable permits null. That advantage holds for simple variable declarations, array declarations. Maybe even with generic type vars. For another, Integer can just be itself, with Integer.val ≡ int.