Here is another idea: The stdlib uses `owned` everywhere but you can opt-out by
a new builtin called `system.lose` ("lose" the ownership). When you lose the
ownership you can use `ref` just like today, but "lost" objects need to be
recovered by the GC. `system.lose` thus might trigger a GC run.
It could be an error/warning to lose an object that has a destructor that deals
with non-memory resources (file handles, etc.). Perfect interop between both
worlds, no language split.
But of course, it's only a rough idea.