I am sorry to say this, but this was not my experience in the past. Even in the present. For example, everyday I have to switch between files to trigger the intellij compiler mechanism to recheck my code, because it shows me outdated errors (Scala 3). I know there is metals. That has better support for the syntax stuff, but I tried it with vs code and basic things available for any language in intellij were missing.
At the Scala days Madrid I met some intellij guys. I must say, they were very helpful. But errors that I have reported in youtrack over a year ago were unknown to them. Once I showed them there live, they fixed it. But I think there is some kind of communication or organization problem. I also talked to one dev and he told me, that outside of the intellij plugin he basically does not touch Scala. Which I guess is his right, but makes it hard to see things that break in day to day code of a Scala dev.
Another very good example are match types, which, last time I checked, get resolved in metals but not in intellij. Same for transparent inline. Both not experimental features. And that not since yesterday.
I have the feeling intellij (maybe metals too) could use some “devs talk to us” meeting where ppl can talk to them about the daily problems they face. Also someone on the team that goes and compiles big libs or uses them, with the intention of breaking things sounds great. I don’t think this exists.
I must admit, would I have had better experience or see great improvement in this area, I would be less against named tuples.
I understand this and get the usage. I did not read enough of the stuff above to understand that before, my bad. But I still kinda dislike it. Because it is not a macro only feature and will get mixed into non macro code for sure. I’d rather see better support for structural types, then having something new.