inline fun T.use(block: (T) -> R): R { return block(this) } fun foo() { 42.use { it -> it.toString() } }