I'm not concerned. Firstly, every living language requires occasional code updates, Python is at version 3, Lua at 5.3, Swift at 5.0, C++20 seems to get module support (!)...
Secondly, the proposed mechanisms are all not fundamentally incompatible with a mark&sweep GC that can clean up your messes occasionally. However, I'm not thinking too hard about this problem because it's further away and also because I'm not a fan of luring people into keeping their old way of thinking. What many don't understand is that whenever they run `nim c ...` they pay the costs of a `ref`-heavy design: The compiler is hard to parallelize because the GC is attached to a thread. It's hard to optimize its memory consumption because potentially every tree node can be freed individually and shared across ASTs (!). It's hard to make incremental because the IR cannot be stored to disk easily and efficiently. And finally, a fair share of the compiler's bugs are a result of this design decision.
