É a opção GenTraversableOnce?

Estou confuso. EmTraversableLikeexiste uma funçãoflatMap com a assinatura

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

No entanto, eu posso usar dessa maneira

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 que isso é possível? Como éOption convertido paraGenTraversableOnce? Não parece uma subclasse ...

questionAnswers(3)

yourAnswerToTheQuestion