`v map f` is a value, though, so maybe it'd be better to pass it using regular parentheses:
```scala
    onComplete { v => p.complete(v.map(f)) }
```