Es Option GenTraversableOnce?

Estoy confundido. EnTraversableLike, hay una funciónflatMap con la firma

flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Iterable[B]

Sin embargo, puedo usarlo de esta manera.

scala> Iterable(1,2,3,4,5).flatMap{i=>if (i%2==0) {None} else {Some(i)}}
res1: Iterable[Int] = List(1, 3, 5)

¿Por qué es posible? Como esOption convertido aGenTraversableOnce? No parece una subclase ...

Respuestas a la pregunta(3)

Su respuesta a la pregunta