We will improve the language after 3.0, but we will not be able to do fundamental syntax changes anymore, simply because all the docs and tutorials, including printed books and online courses have to stay relevant for a long time. So after 3.0 we are back to the more settled standard way of language evolution, which means:
- don’t break existing code on a large scale (except for things that we have announced for removal today, so they won’t be in the Scala 3 docs)
- add new capabilities only
- concentrate on more advanced and specialized use cases.
So if something is confusing today, we cannot decide to remove it once 3.0 has shipped. We can add stuff, but I fear that will not make anything less confusing.