任何人都可以解释为什么 Arrow (Kotlin) 选择弃用更高级的类型吗?

Can anyone motivate why Arrow (Kotlin) choose to deprecate higher-kinded types?

深入研究 Arrow 的代码库,我在更高级的类型之上发现了这个弃用警告。

Higher Kinded types and their related type classes will no longer be supported after Arrow 0.13.0. Most relevant APIs are now concrete over the data types available as members or top level extension functions

任何人都可以激励这个选择和提议的备选方案吗?或指出有关此主题的一些相关文档?

Raul Raja 在 Kotlin-slack 的 Arrow-channel 上写了这篇关于它的文章:

For those wondering about the future of Higher Kinds in Arrow: Kinds are going away because their encoding forces the user to call .fix() and there is no workaround for it without compiler plugins. Once compiler plugins are properly supported perhaps after 1.5 then we will revisit kinds but instead of providing all this boilerplate we will provide a deeper and better integration than what we have now. Arrow Meta already has this support but it can’t be distributed to users until the Kotlin IDEA plugin supports compiler plugins. Kinds will be revisited then. Since Arrow is currently marching close to the final encoding of 1.0, we can’t release a 1.0 where the entire lib and most of user code depends on Kinds in the current form and commit to maintain that for the long run.