函数泛型定义 type Flipped = FlipArguments<(arg0: string, arg1: number, arg2: boolean) => void> type FlipArguments<T> = T extends (...arg: infer G) => infer R ? (...x: G) => R : never