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