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 {}