Scala: comportamiento extraño en la coincidencia de patrones `for` para el caso None

Comportamiento extraño enfor coincidencia de patrones de ciclo:

scala> val a = Seq(Some(1), None)
a: Seq[Option[Int]] = List(Some(1), None)

scala> for (Some(x) <- a) { println(x) }
1

scala> for (None <- a) { println("none") }
none
none

¿Por qué en el segundo ejemplo dos salidas'none' producido? Quizás este ejemplo sea sintético y no práctico, pero ese comportamiento no es previsible. ¿Es este error o característica?

Respuestas a la pregunta(2)

Su respuesta a la pregunta