I vote you kill this Monad[F[_]] business and simply talk in terms of scala.concurrent.Future. it is so much simpler to understand and a unified Future is one of the big selling points of 2.10