scala> val a = Some(1)
a: Some[Int] = Some(1)
scala> val b = Some(2)
b: Some[Int] = Some(2)
scala> Seq(a,b).flatten.headOption
res0: Option[Int] = Some(1)
Ответ 3
В комментариях к вопросу вы упомянули, что у вас не может быть Some(a) и Some(b), поэтому у вас действительно есть Option[Either[Int,Int]]. В этом случае вы можете использовать x.map(_.merge), чтобы вернуться к Option[Int], например