//// [functionTypeArgumentAssignmentCompat.ts] var f : { (x:T): T; } var g : { () : S[]; } = () => []; f = g; var s = f("str").toUpperCase(); console.log(s); //// [functionTypeArgumentAssignmentCompat.js] var f; var g = function () { return []; }; f = g; var s = f("str").toUpperCase(); console.log(s);