fun foo) fun @[a] T.foo(a : ) : bar fun @[a()] T.foo<>(a : foo) : bar fun @[a()] T.foo(a : foo) : bar fun @[a()] T.foo<, T, , T>(a : foo) : bar fun @[a()] T.foo(, a : foo, , a: b) : bar fun foo() : = a; fun foo() = ; fun foo() fun foo A.