//// [ambiguousGenericAssertion1.ts] function f(x: T): T { return null; } var r = (x: T) => x; var r2 = < (x: T) => T>f; // valid var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operation //// [ambiguousGenericAssertion1.js] function f(x) { return null; } var r = function (x) { return x; }; var r2 = f; // valid var r3 = << T > (x), T; T > f; // ambiguous, appears to the parser as a << operation