В Kotlin у нас будет возможность создать «черту, которая может потребовать расширения класса на стороне вызова», например
class Bar {}
trait T1 : Bar {}
class Foo : Bar, T1, T2, T3 {}
class Wrong : T1, T2 //error: Wrong should extend Bar
Я не могу представить поток, где я могу применить эту структуру. Может кто-нибудь сказать мне, зачем нам это нужно?