val a = fun ()
val a = fun name()
val a = fun T.name()
val a = fun @[a] T.(a : foo) : bar
val a = fun @[a] T.name(a : foo) : bar
val a = fun @[a()] T.<T : (a) -> b>(a : foo) : bar

fun c() = fun ();
fun c() = fun name();
fun c() = fun @[a] T.();
fun c() = fun @[a] T.(a : foo) : bar;
fun c() = fun @[a()] T.<T : (a) -> b>(a : foo) : bar;

val d = fun () = a
val d = fun name() = a
val a = @[a] fun ()

val b = fun <T> () where T: A

fun outer() {
    bar(fun () {})
    bar(fun name() {})
    bar(fun @[a] T.() {})
    bar(fun @[a] T.name() {})

    bar(fun @[a] T.(a : foo) : bar {})
    bar(fun @[a()] T.<T :  (a) -> b>(a : foo) : bar {})

    bar {fun @[a()] T.<T : @[a]  (a) -> b>(a : foo) : bar {}}

    bar {fun A?.() : bar?}
    bar {fun A? .() : bar?}

    bar(fun () = a)
    bar(fun name() = a)
    bar(@[a] fun name() = a)
}
