The sample code for those projects are often really cool, but as soon as you get to real world case, you start having problems if you want to be 100% pure.
Imho, for mobile ( ios / android), the problem is that the base sdk aren't thought for reactive style (push vs pull). So all Rx frameworks try to compensate for this mismatch by adding an adaptation layer, and you end up with a really unconvenient code.
To someone who knows more about Tokio than me: is this even possible with Tokio's current design? Or is Tokio too I/O centered, such that its core abstractions wouldn't be useful in something like this?
Writing a game is quite possible, but most of Tokio's higher-level abstractions are focused on request-response protocols. I've been working on some tooling (https://github.com/sirpent-team/comms) for non-request-response but it's been slow going.
I've been playing with ScalaRx a bit (not to be confused with RxScala...) and it's a really clean feeling abstraction for GUI, which I normally hate.
It'd be interesting to see similar ideas applied in Rust.