In Kotlin I can create a generic constraint of type T; for example:
T
interface Foo { val a: String } class Baz(x: T) { init {