fun foo(x: K) {} val x1 = foo<(unresolved) -> Float> { it.toFloat() } val x2 = foo<(unresolved) -> Float> { it -> it.toFloat() } val x3 = foo<unresolved.() -> Float> { this.toFloat() } val x4 = foo<(Array<unresolved>) -> Int> { it.size } fun bar() = foo<(T) -> String> { it.toString() }