>;报错信息如下:Type 'F' is not generic.在类型签名中F是一个类型构造器, 既和Array一样的返回类型的类型.然而, TypeScript 里根本无法声明"一个类型参数为类型构造器...".正如示例中type T = F;中, 我们无法告诉TypeScript, 这里的F是一个类型构造器, 所以当将number传入F的时候, 就报错了.OK, 我们假设TypeScript...可以理解为一种上下文, 这段类型签名可以先简单地理解为:将一个包裹在上下文中的函数取出, 再将另一个包裹在上下文中的值取出, 调用函数后, 将函数的返回值重新包裹进上下文中并返回.这里的上下文是一个泛指....函数也可以是一个上下文?...答案是可以的, 我们可以将一个一元函数a -> b理解为"一个包裹在上下文中的b, 只不过为了获取这个b, 需要先传入一个a.为了减少语法噪音, 让我们先看看Haskell 对ap 的定义:instance