It is only scary if you try to do advanced stuff like concurrently accessing mutable state without proper synchronization. As long as your code is correctly synchronized (and various functions in coroutines give you all the proper synchronization) it just works like a charm.