const f1 = (): (string => string) => {}; const f2 = (): ?(y => {a: b => c}) => (0: any); const f3 = (): (a | string => string) => {}; const f4 = (): (a & string => string) => {}; function f5(): string => string {}