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