tests/cases/compiler/functionOverloads40.ts(4,13): error TS2345: Argument of type '{ a: string; }[]' is not assignable to parameter of type '{ a: boolean; }[]'.
  Type '{ a: string; }' is not assignable to type '{ a: boolean; }'.
    Types of property 'a' are incompatible.
      Type 'string' is not assignable to type 'boolean'.


==== tests/cases/compiler/functionOverloads40.ts (1 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'}]);
                ~~~~~~~~~~~
!!! error TS2345: Argument of type '{ a: string; }[]' is not assignable to parameter of type '{ a: boolean; }[]'.
!!! error TS2345:   Type '{ a: string; }' is not assignable to type '{ a: boolean; }'.
!!! error TS2345:     Types of property 'a' are incompatible.
!!! error TS2345:       Type 'string' is not assignable to type 'boolean'.
    