Getting last or return a default value in a Seq[Either[A, B]]
Instead of map() - fold() - getOrElse(), you could just use two fold() calls.

val response = Response(y.lastOption
                         .fold("Not Found")(_.fold(_=&gt;"Not Found", _=&gt;"Found")))


Or you could turn it into a single Option with just one fold().

val response = Response(y.lastOption
                         .flatMap(_.toOption)
                         .fold("Not Found")(_ =&gt; "Found"))