When dealing with nested containers in Scala, like Future[Option[A]], you code quickly gets messy from deep nesting.
This presentation shows a way to solve that, using monad transformers.
There's accompanying code and exercises on http://github.com/eamelink/flatten