This is maybe a bit mean, but I couldn’t hold this to myself:
“We already have big problems with implicit resolution where pieces of code change behaviour depending on the order of imports.”
“I inherited a Scala code base of about 5 years old with several “historical” layers of maturity.
The biggest issue is the abuse of implicits combined with an immature type hierarchy (too deep, too much generic types) , effectively making it a “go to”. That is, when locally inspecting code, it is very difficult to find the actual conversion or implicit used: It has become the new global.”
Implicits really only caused trouble for Scala. That being said I really wouldn’t mind some bad hack to have non-local returns and traits in Kotlin as in Scala. It makes a big difference to Java and IMHO is worth the bad hack. The little performance impact with the NonLocalReturnException and some few gotchas you need to know about traits in Scala are not such a problem and the gain is substantial.