On referential transparency, I couldn't tell from the blog but are the Rust futures memoized/cached?
If they are, then they're still not referentially transparent. But if they aren't then it might be a bit of a surprise to developers coming from other languages (especially ones not familiar with something like an IO monad).