Is anyone still missing required super classes in interfaces (formally traits)? I just realized you can get most of the benefits by using extension methods in interfaces:
Copy code
interface Mixin {
fun BaseClass.mixin() = foo().toUpperCase()
}
abstract class BaseClass {
fun foo() = "foo"
}
class Foo : BaseClass(), Mixin {
fun bar() = mixin() + "!"
}