Our aspirations are very simple: bringing the tools to an environment where traditionally they have not been available. The prelude is a freebie, basically. All the datatypes that are not MTL work out of the box painlessly
Typeclasses we’ve iterated trough at least 3 times. They have 2 purposes: code reuse and abstraction. Abstraction is nice although underused, and has the nested Kind issue of having to
map { it.fix() }
. Reuse has improved from scope blocks to codegen extfuns to, in the near future, compiler extension. This also applies to Optics.
Fx is a concurrency library over coroutines with a different design ethos than Jetbrain’s kotlinx.coroutines. We saw gaps that prevented adoption and set to write our own abstraction to fix them.