Curious if this was discussed somewhere, if so please point me where.
The only thing I could find is https://forum.nim-lang.org/t/1003 (Proposal: For seq & string, default init is "init to empty" not "init to nil") however, @araq's response there https://forum.nim-lang.org/t/1003#6079 (make 'nil' work for 'add' and 'len') doesn't mention the plan is to default initialize string, seq to "" and @[].
Is the plan to have all these?
The nil memory address will mean ""/@[] but cannot be written as nil in Nim, it's just an implementation detail in order to not allocate these.
Q2: yes.
This is very exciting!
@Araq, what about user defined ref types (e.g. ref object)? How will nil be handled for those?