fun {[a] T.(A) : ()}.foo() fun {[a] T.(A) : ()}.foo(); fun {[a] T.(A) : ()}.foo() {} fun [a] {[a] T.(A) : ()}.foo() {} fun [a] {() : Unit}.foo() // And tuples, too fun (A, B).foo() : Unit {} // Recovery fun fun [a] T.(A) : ().-()