Again, since `v recover pf` is a value, I'd rather pass it using regular parentheses:
```scala
    onComplete { v => p.complete(v.recover(pf)) }
```