Opción getOrElse tipo error de coincidencia

¿Por qué este código genera un error de falta de coincidencia de tipo en Scala 2.9.2? Yo esperaba quegetOrElse devuelve el tipoString pero en realidad vuelvejava.io.Serializable:

scala> implicit def StringToOption(s:String) = Option(s)
StringToOption: (s: String)Option[String]

scala> "a".getOrElse("")
res0: String = a

scala> var opt:Option[String] = "a".getOrElse("")
<console>:8: error: type mismatch;
 found   : java.io.Serializable
 required: Option[String]
       var opt:Option[String] = "a".getOrElse("")
                                             ^

Esto esta bien:

scala> implicit def StringToOption(s:String): Option[String] = Option(s)
StringToOption: (s: String)Option[String]

scala> var b:Option[String] = "a".getOrElse("") toString
b: Option[String] = Some(a)

Respuestas a la pregunta(1)

Su respuesta a la pregunta