For reactive streams, the code base is organised in the form of functional call chains. An alternative approach to the efficient use of resources has been established in the form of coroutines. … For example, Kotlin has supported coroutines natively since version 1.1 . The concept also allows asynchronous code execution.