///
////function foo(x: T, y: U): (a: U) => T {
//// var z = y;
//// return (z) => x;
////}
////var /*2*/r = foo(/*1*/1, "");
////var /*4*/r2 = r(/*3*/"");
verify.signatureHelp({ marker: "1", text: "foo(x: number, y: string): (a: string) => number" });
verify.quickInfoAt("2", "var r: (a: string) => number");
verify.signatureHelp({ marker: "3", text: "r(a: string): number" });
verify.quickInfoAt("4", "var r2: number");