=== tests/cases/compiler/inferentialTypingWithFunctionTypeNested.ts === declare function map(x: T, f: () => { x: (s: T) => U }): U; >map : (x: T, f: () => { x: (s: T) => U; }) => U >T : T >U : U >x : T >T : T >f : () => { x: (s: T) => U; } >x : (s: T) => U >s : T >T : T >U : U >U : U declare function identity(y: V): V; >identity : (y: V) => V >V : V >y : V >V : V >V : V var s = map("", () => { return { x: identity }; }); >s : string >map("", () => { return { x: identity }; }) : string >map : (x: T, f: () => { x: (s: T) => U; }) => U >"" : string >() => { return { x: identity }; } : () => { x: (y: string) => string; } >{ x: identity } : { x: (y: V) => V; } >x : (y: V) => V >identity : (y: V) => V