Option.fold in scala 2.10

Na sessão seguinte com scala 2.10.0-M7:

scala> trait A
defined trait A
scala> class B extends A
defined class B
scala> class C extends A
defined class C
scala> Some(0).fold(new B){_=>new C}
<console>:11: error: type mismatch;
 found   : C
 required: B
              Some(0).fold(new B){_=>new C}

Eu esperaria que o compilador encontrasse o supertipo comum (a saber, A) em vez de reclamar. É a limitação de inferência de tipo geral ou a conseqüência da maneira como Option.fold é definido?

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion