Or maybe we need to introduce another function, halfway between `recover` and `getOrElse`, with the following signature:

```scala
def recoverComplete[AA >: A](f: JsError => AA): AA
```