// basic uses of function literals with overloads var f: { (x: string): string; (x: number): number; } = (x) => x; var f2: { (x: string): string; (x: number): number; } = (x) => x; var f3: { (x: T): string; (x: T): number; } = (x) => x; var f4: { (x: string): T; (x: number): T; } = (x) => x;