I have a couple of observations:
- it's in Scala and I don't see how Java or Android would benefit
- Positions itself relative to Threads, which is a pretty common thing for async solutions lately, completely ignoring the fact that threadpools were invented to help solving the task count vs. thread count problem
- One value - which maximizes overhead - instead of streaming values
- Not deferred, can't retry an IO[T] unless you recreate the entire flow?
- Pretty similar to ReactiveX' fluent API style
- Fibers - suspension and resumption is the common case - unlike permit-based streaming such as Reactive Streams