Given an optional array of type Book, declared in a table view controller class: 

```
var books: [Book]?

```

Later in `cellForRowAtIndexPath` I have:

```
    let cell = tableView.dequeueReusableCell(withIdentifier: "cellID", for: indexPath)

    let book = books?[indexPath.row]

     cell.textLabel?.text = book?.title

    return cell
}

```

Now, so far I have only seen this books array optional unwrapped using if let statement in order to loop through the array.
But why in cellForRow here do we not unwrap books and unwrap book instead of adding another ? after it, as in `books?[indexPath.row]` and `cell.textLabel?.text = book?.title`