=== tests/cases/compiler/functionOverloads23.ts === function foo(bar:(b:string)=>void); >foo : { (bar: (b: string) => void): any; (bar: (a: number) => void): any; } >bar : (b: string) => void >b : string function foo(bar:(a:number)=>void); >foo : { (bar: (b: string) => void): any; (bar: (a: number) => void): any; } >bar : (a: number) => void >a : number function foo(bar:(a?)=>void) { return 0 } >foo : { (bar: (b: string) => void): any; (bar: (a: number) => void): any; } >bar : (a?: any) => void >a : any