// @flow /** x */ let x: T => string; /** x2 */ let x2: (a: T) => string; /** T */ type T = (string[]) => { num: number }; /** T2 */ type T2 = (a: string[]) => { num: number }; /** T3 */ type T3 = (a?: string) => { num: number };