rameters

* We split parameters into different set <br>of parentheses to help type inference
]

---
# Least Upper Bound (LUB)


<br>

.fifty-seven-left[
```scala
def map[A](list: List[A], update: A => A): List[A]
```

<br>

```scala mdoc:reset:invisible
case class User(name: String, age: Int)

def map[A](list: List[A], update: A => A): List[A] = list.map(update)

val users = List(User("John", 23), User("Eda", 37), User("Bob", 18))
```

```scala mdoc:fail
map(users, (user: User) => user.name)
```
]

.thirty-