I know it's not really related to this SIP, but don't you think it's annoying that this cast is necessary? I wish we could fix Failure's type annotations, but it's probably a source-incompatible change.

Current:
````scala
final case class Failure[+T](exception: Throwable) extends Try[T]
````
Fixed:
````scala
final case class Failure(exception: Throwable) extends Try[Nothing]
````