inline fun <T, R> with(receiver: T, f: T.() -> R): R
with(list) { add(item) add(item) }
Another thing that's bit me in butt recently is that `Protocol`s aren't concrete types, unlike an `interface` in Java/Kotlin.
Another thing that's bit me in butt recently is that `Protocol`s aren't concrete types, unlike an `interface` in Java/Kotlin.