==== tests/cases/compiler/genericCombinators2.ts (2 errors) ==== interface Collection { length: number; add(x: T, y: U): void; remove(x: T, y: U): boolean; } interface Combinators { map(c: Collection, f: (x: T, y: U) => any): Collection; map(c: Collection, f: (x: T, y: U) => V): Collection; } var _: Combinators; var c2: Collection; var rf1 = (x: number, y: string) => { return x.toFixed() }; var r5a = _.map(c2, (x, y) => { return x.toFixed() }); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Argument of type '(x: number, y: string) => string' is not assignable to parameter of type '(x: number, y: string) => Date'. var r5b = _.map(c2, rf1); ~~~ !!! Argument of type '(x: number, y: string) => string' is not assignable to parameter of type '(x: number, y: string) => Date'.