I am building a reactive site in Scala and Play Framework, and my data models are such that I often need to compose Future and Option , and build Future of List / Set from previous values to get the result I need.

I wrote a simple app with a fake data source that you can copy and paste and it should compile. My question is, how can I get the result back, in my case UserContext , in a consumable form. Currently, I am getting back Future[Option[Future[UserContext]]] .

I want to do this in pure Scala to learn the language better, so I am avoiding Scalaz at the moment. Although I know I should eventually use that.