Would it not be possible to add an "int rc" to the internal Array struct? So that int[] arr = [1, 2, 3]; is ref counted per default? If you want it to be immortal, call toGC(arr) or with UFCS arr.toGC() which set the rc to uint.max / 2? That would keep the nice syntax. :)