Exclude<T, U> — 从 T 中剔除可以赋值给 U 的类型。
    Extract<T, U> — 提取 T 中可以赋值给 U 的类型。
    NonNullable — 从T中剔除 nullundefined
    ReturnType — 获取函数返回值类型。
    InstanceType — 获取构造函数类型的实例类型。

    参考: