fun ((T) -> G).foo
{ }
fun ((T) -> G).foo { }
fun ((T) -> G).foo
fun ((T) -> G).foo = 0
fun ((T) -> G)?.foo { }
fun ((T) -> G)??.foo { }
fun (@[a] T.(A, C) -> ).foo() {}
fun fun @[a] T.(A).foo()
fun @[a] (T.(A)).foo()
fun @[a] ((A)-).foo()
fun ((T)->G).foo
class C.
fun foo {}
c.
//-----------
class A {
fun foo() {
}
}
fun bar(a: A) {
a.foo()
}