=== tests/cases/compiler/functionOverloads8.ts === function foo(); >foo : { (): any; (foo: string): any; }, Symbol(foo, Decl(functionOverloads8.ts, 0, 0), Decl(functionOverloads8.ts, 0, 15), Decl(functionOverloads8.ts, 1, 25)) function foo(foo:string); >foo : { (): any; (foo: string): any; }, Symbol(foo, Decl(functionOverloads8.ts, 0, 0), Decl(functionOverloads8.ts, 0, 15), Decl(functionOverloads8.ts, 1, 25)) >foo : string, Symbol(foo, Decl(functionOverloads8.ts, 1, 13)) function foo(foo?:any){ return '' } >foo : { (): any; (foo: string): any; }, Symbol(foo, Decl(functionOverloads8.ts, 0, 0), Decl(functionOverloads8.ts, 0, 15), Decl(functionOverloads8.ts, 1, 25)) >foo : any, Symbol(foo, Decl(functionOverloads8.ts, 2, 13)) >'' : string