tests/cases/compiler/functionOverloadAmbiguity1.ts(4,18): error TS2339: Property 'length' does not exist on type 'number'. ==== tests/cases/compiler/functionOverloadAmbiguity1.ts (1 errors) ==== function callb(lam: (l: number) => void ); function callb(lam: (n: string) => void ); function callb(a) { } callb((a) => { a.length; } ); // error, chose first overload ~~~~~~ !!! error TS2339: Property 'length' does not exist on type 'number'. function callb2(lam: (n: string) => void ); function callb2(lam: (l: number) => void ); function callb2(a) { } callb2((a) => { a.length; } ); // ok, chose first overload