scala.util.Failure is declared like this:
scala.util.Failure
final case class Failure[+T](exception: Throwable) extends Try[T]`
It takes a type p
The T in Failure[+T] comes in handy when trying to recover from the failure: recover[U >: T](rescueException: PartialFunction[Throwable, U]): Try[U]
T
Failure[+T]
recover[U >: T](rescueException: PartialFunction[Throwable, U]): Try[U]