fun (String.() -> String).foo(x : String) { x.this() x.this@foo() val t = this val tt = this@foo }