如何在函数定义中使用 forall?

How can I use forall in a function definition?

banana : Type
banana = forall x . x -> x

给予

While processing right hand side of banana. x is not accessible in this context.

然而,

banana : Type
banana = {x : Type} -> x -> x

apple : forall x . x -> x
apple t = t

工作。

如何使用通用量化作为函数的输出?如果不可能,为什么不呢?

forall x . 表示 {0 x : _} -> 即在运行时没有 x。由于您在定义中使用 x,因此在运行时不能有 bananas

0 banana : Type
banana : forall x . x -> x