title: `akka.pattern.after` - Understanding `duration` Argument?
body: <p>Using Scala <code>2.11.8</code>, given a <code>Future</code> that sleeps <code>5</code> seconds before returning <code>()</code>, I called <code>akka.pattern.ask</code> with a time-out of <code>1</code> second:</p>
  
  <pre><code>import scala.concurrent.duration._
  import scala.concurrent._
  import akka.actor.ActorSystem
  import scala.concurrent.ExecutionContext.Implicits.global 
  import akka.pattern.after
  
  val system = ActorSystem.create()
  
  after( FiniteDuration(1, SECONDS),  system.scheduler)( Future{ Thread.sleep( 5000 ); () } )
  res15: scala.concurrent.Future[Unit] = List()
  
  // roughly 5 seconds later, I see:
  
  scala&gt; res15
  res22: scala.concurrent.Future[Unit] = Success(())
  </code></pre>
  
  <p>Why doesn't <code>res15</code> return a <code>Failure</code> since the <code>Future</code> does not complete until 5 seconds, however its timeout is 1 second?</p>