I think there is a notion in this discussion where one needs to have a high level of expertise in Scala and its internals, perhaps along with deep formal education in CS, in order to be able to discuss features – their motive, design, usage, etc.
It’s not about complexity more than it is about familiarly with non trivial and often undocumented concepts. If the average Scala developer cannot fully comprehend some of its features due to this lack of familiarity, then I’d argue that these features are unapproachable / unintuitive / not simple enough.
One example for such a feature are type members; the discussion on opaque types have led to a sub-discussion that focused on the meaning / semantics of type members. I believe that the gist of the discussion is a confusion of terminology, where on the one hand there is DOT’s view of things (which I’m not familiar with), and on the other hand there is the traditional OOP “abstract vs concrete” view, which is expressed in the official documentation.
It’s hard maintaining fruitful discussions when there isn’t a clear source of truth.