I really like being able to write multi-threaded code using Kotlin Coroutines with channels and fibers in a similar way as in Go. Now Go has some good tool to detect race conditions and deadlocks at runtime that can be switched on with a flag to the runtime or compiler. This tool is written in C++ and was developed at Google for various purposes, not only for Go. Whatever, the point is that with running that race detector when testing your Go application you can get the number of races very very low.
Question is now what can be done to have that kind of runtime analysis for Kotlin Coroutines. There are already tools like this one for Java: vmlens besides other (that are much more expensive). Would that kind of tools written for Java also work with Kotlin Coroutines (since the Koltin compiler carries some meta data around for Coroutines)? Anyway, are there some plans/ideas how race/deadlock detection could be done for Kotlin Coroutines?