contextualTypingOfLambdaReturnExpression.ts(5,16): error TS2339: Property 'length' does not exist on type 'number'.
contextualTypingOfLambdaReturnExpression.ts(6,18): error TS2339: Property 'length' does not exist on type 'number'.


==== contextualTypingOfLambdaReturnExpression.ts (2 errors) ====
    function callb(lam: (l: number) => void);
    function callb(lam: (n: string) => void);
    function callb(a) { }
    
    callb((a) => a.length); // Ok, we choose the second overload because the first one gave us an error when trying to resolve the lambda return type
                   ~~~~~~
!!! error TS2339: Property 'length' does not exist on type 'number'.
    callb((a) => { a.length; }); // Error, we picked the first overload and errored when type checking the lambda body
                     ~~~~~~
!!! error TS2339: Property 'length' does not exist on type 'number'.