Loom brings more than just performance, which as you rightly point out is probably already addressed by ZIO/Monix/Kotlin (or even improved). First there’s the syntactic changes, which impact the readability of the code. Some might consider code written in procedural style to be more readable, at least in some scenarios.

Second, there’s the problem of lost context, especially when reporting exceptions. Here, although ZIO & cats-effect 3 have improved a lot on the status quo, we still don’t get the same experience as with synchronous code & “normal” stack traces.

Finally, both ZIO & cats-effect are quite viral, while Loom might blend more seamlessly with other libraries and frameworks that you might use in your code.