//// [undefinedInferentialTyping.ts] function f(arr: T[], elemnt: T): T { return null; } var a = f([], 3); // should be number //// [undefinedInferentialTyping.js] function f(arr, elemnt) { return null; } var a = f([], 3); // should be number