==== tests/cases/compiler/functionOverloads40.ts (2 errors) ====
    function foo(bar:{a:number;}[]):string;
    function foo(bar:{a:boolean;}[]):number;
    function foo(bar:{a:any;}[]):any{ return bar }
    var x = foo([{a:'bar'}]);
            ~~~
!!! functionOverloads40.ts(4,9): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Types of property 'pop' of types '{}[]' and '{ a: number; }[]' are incompatible:
!!! 		Call signatures of types '() => {}' and '() => { a: number; }' are incompatible:
!!! 			Type '{}' is missing property 'a' from type '{ a: number; }'.
            ~~~
!!! functionOverloads40.ts(4,9): error TS2087: Could not select overload for 'call' expression.
    