Values initialized from a chain of futures
===

Consider a following snippet of code:

    class MyClass {
      var a = _
      var b = _
      ...
      var y = _
    
      val z = someFancyMethodThatBlocksAndWaitsForTheFutureResult(for {
        a0 <- someMethodReturningFuture
        b0 <- someMethodReturningFuture(a0)
        ...
        z0 <- someMethodReturningFuture(y0)
      } yield {
        a = a0
        b = b0
        ...
        y = y0
        someCalculation(y)
      })
    }
Is it possible to perform such an initialization but using `val`s instead of `var`s (somehow)? The point is, I don't want to block and wait for every intermediate result, just for the last one.