为什么 Idris 将 Data.Vect 的参数排序为大小然后 item-type?

Why does Idris order the arguments to Data.Vect as size then item-type?

正如标题所说。在我熟悉的其他依赖系统(Agda 和 Coq)中,向量类型定义为 Vect : Type -> Nat -> Type。将参数放在索引之前对我来说很有意义,无论如何,这似乎是矢量类型的标准。为什么 Idris 使用 Vect : Nat -> Type -> Type?

参数和索引之间在 Idris 中没有明显差异。将类型参数放在最后一个对于 Functor (Vect n) 实例来说很方便。