in algebird-core/src/main/scala/com/twitter/algebird/Eventually.scala [51:63]
override def plus(x: Either[E, O], y: Either[E, O]): Either[E, O] =
x match {
case Left(xe) =>
y match {
case Left(ye) => left(eventualSemigroup.plus(xe, ye))
case Right(yo) => left(eventualSemigroup.plus(xe, convert(yo)))
}
case Right(xo) =>
y match {
case Left(ye) => left(eventualSemigroup.plus(convert(xo), ye))
case Right(yo) => conditionallyConvert(originalSemigroup.plus(xo, yo))
}
}