name parameters in the standard library

.seventy-two-left[
```scala
object Try {
  def apply[A](action: => A): Try[A] =
    try {
      val result = action
      Success(result)
    } catch {
      case e: Throwable => Failure(e)
    }
}

Try(2 + 2)
// res: Try[Int] = Success(4)

Try(throw new Exception("Boom"))
// res: Try[Nothing] = Failure(java.lang.Exception: Boom)
```
]

---
# By-name parameters in the standard library

.eighty-two-left[
```scala
object Future {
  def apply[A](action: => A)(implicit e