=== tests/cases/compiler/functionOverloads39.ts === function foo(bar:{a:number;}[]):string; >foo : Symbol(foo, Decl(functionOverloads39.ts, 0, 0), Decl(functionOverloads39.ts, 0, 39), Decl(functionOverloads39.ts, 1, 40)) >bar : Symbol(bar, Decl(functionOverloads39.ts, 0, 13)) >a : Symbol(a, Decl(functionOverloads39.ts, 0, 18)) function foo(bar:{a:boolean;}[]):number; >foo : Symbol(foo, Decl(functionOverloads39.ts, 0, 0), Decl(functionOverloads39.ts, 0, 39), Decl(functionOverloads39.ts, 1, 40)) >bar : Symbol(bar, Decl(functionOverloads39.ts, 1, 13)) >a : Symbol(a, Decl(functionOverloads39.ts, 1, 18)) function foo(bar:{a:any;}[]):any{ return bar } >foo : Symbol(foo, Decl(functionOverloads39.ts, 0, 0), Decl(functionOverloads39.ts, 0, 39), Decl(functionOverloads39.ts, 1, 40)) >bar : Symbol(bar, Decl(functionOverloads39.ts, 2, 13)) >a : Symbol(a, Decl(functionOverloads39.ts, 2, 18)) >bar : Symbol(bar, Decl(functionOverloads39.ts, 2, 13)) var x = foo([{a:true}]); >x : Symbol(x, Decl(functionOverloads39.ts, 3, 3)) >foo : Symbol(foo, Decl(functionOverloads39.ts, 0, 0), Decl(functionOverloads39.ts, 0, 39), Decl(functionOverloads39.ts, 1, 40)) >a : Symbol(a, Decl(functionOverloads39.ts, 3, 14))