This should work:

    case Left(result) => Future.successful(Left(result))

It requires invoking the left extractor object, which will create a new option object, and then it will create a new Left, in practice the cost is negligible.  I'm not really fussed either way though.