@didlybom But strings and sequences ARE already treated a little differently than plain reference object types, aren't they? The most trivial example being: strings have their literals and sequences (and arrays) have `openArray` but neither string nor sequence has object constructor. So what now? Well, just treat them more or less like primitives. If neither string nor sequence have `nil` as a proper value then they will certainly not behave like reference types.
What is interesting: @[] and "" don't have to actually differ from `nil`, it could be an implementation detail. Pretty much like `option[ref T not nil]` can be implemented as `ref T`.
