The maximum is in the middle
There's a spectrum in the Reactive world. On one side, there's ReactiveX (abbreviated as Rx). On the other side, there is InteractiveX (abbreviated as Ix). For some implementations to see the difference, we can look at the former's many friends — Reactive Streams, Reactor, Flowable — and the latter's more meager and nascent friendbase — really just Kotlin channels for now. Theoretically though, the difference between the two is concise but deep.