Option.fold en scala 2.10
En la siguiente sesión con 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}
Espero que el compilador encuentre el supertipo común (es decir, A) en lugar de quejarse. ¿Es la limitación de inferencia de tipo general, o la consecuencia de la forma en que se define Option.fold?
Gracias.