Accepted answer

You just need to pass the types explicitly (also OptionT.optionT appears to do something slightly different):

//could use a type lambda, but this is (IMO) slightly clearer
type FutureEither[A] = EitherT[Future, Unit, A]
new OptionT[FutureEither, Int](EitherT.eitherT[Future, Unit, Option[Int]](ee))

(I should probably mention my scalaz-transfigure library as a slightly lighter and more inferencey approach to doing the same thing that monad transformers do; it's not terribly mature yet though)

Related Query

More Query from same tag