title: Map a Future for both Success and Failure
body: <p>I have a Future[T] and I want to map the result, on both success and failure.</p>
  
  <p>Eg, something like</p>
  
  <pre><code>val future = ... // Future[T]
  val mapped = future.mapAll { 
    case Success(a) =&gt; "OK"
    case Failure(e) =&gt; "KO"
  }
  </code></pre>
  
  <p>If I use <code>map</code> or <code>flatmap</code>, it will only map successes futures. If I use <code>recover</code>, it will only map failed futures. <code>onComplete</code> executes a callback but does not return a modified future. <code>Transform</code> will work, but takes 2 functions rather than a partial function, so is a bit uglier.</p>
  
  <p>I know I could make a new <code>Promise</code>, and complete that with <code>onComplete</code> or <code>onSuccess</code>/<code>onFailure</code>, but I was hoping there was something I was missing that would allow me to do the above with a single PF.</p>