=== tests/cases/compiler/functionOverloads25.ts === function foo():string; >foo : { (): string; (bar: string): number; }, Symbol(foo, Decl(functionOverloads25.ts, 0, 0), Decl(functionOverloads25.ts, 0, 22), Decl(functionOverloads25.ts, 1, 32)) function foo(bar:string):number; >foo : { (): string; (bar: string): number; }, Symbol(foo, Decl(functionOverloads25.ts, 0, 0), Decl(functionOverloads25.ts, 0, 22), Decl(functionOverloads25.ts, 1, 32)) >bar : string, Symbol(bar, Decl(functionOverloads25.ts, 1, 13)) function foo(bar?:any):any{ return '' }; >foo : { (): string; (bar: string): number; }, Symbol(foo, Decl(functionOverloads25.ts, 0, 0), Decl(functionOverloads25.ts, 0, 22), Decl(functionOverloads25.ts, 1, 32)) >bar : any, Symbol(bar, Decl(functionOverloads25.ts, 2, 13)) >'' : string var x = foo(); >x : string, Symbol(x, Decl(functionOverloads25.ts, 3, 3)) >foo() : string >foo : { (): string; (bar: string): number; }, Symbol(foo, Decl(functionOverloads25.ts, 0, 0), Decl(functionOverloads25.ts, 0, 22), Decl(functionOverloads25.ts, 1, 32))