https://blogs.oracle.com/jrose/entry/larval_objects_in_the_vm the goal is to enable builder-style convenience, then be able to somehow bake an object in a way that's visible to the type system so that future use sees it as immutable (with the appropriate memory visibilty guarantees)