In other words, you're no worse off than you were before when using blocking ops because you'll need a thread pool either way. It's just that the thread pool with dozens of threads that you use for that sort of thing is now something you use only for those blocking ops, and all other stuff can sit on one or a few hot threads that run all your presumably non-blocking, coroutine-flavored ktor stuff.