Is there a solution yet in Rust to this problem of, monadic-ish constructs like Result and Option, but no nice way to chain them together without hideous nesting, like Haskell's "do" or Scala's "for"?
https://github.com/rust-lang/rfcs/pull/243 (note that what was actually accepted differs from the text of the RFC, you need to scroll to the bottom)
As steveklabnik says, there's nothing resembling generalized monadic do notation for now.
.and_then calls themselves aren't too bad, with the right whitespace.