orangy
interface Outer
interface Inner
fun outer(body: Outer.() -> Unit): Unit = TODO()
fun Outer.inner(body: Inner.() -> Unit): Unit = TODO()
fun test() {
outer {
inner {
inner { } // gets Inner instance from outer
}
}
}