Why are Implicitly Unwrapped Optionals needed if we are sure the value exists?
Hello! I just started learning Swift and can't understand one thing. The documentation says that Implicitly Unwrapped Optionals (IUO) are optionals that are automatically unwrapped when used, if we are sure they definitely have a value. But then why are they needed at all? Why not just use a regular type (String, Int, etc.) since we are sure the value exists?
Here's an example I found in a book:
```swift
let assumedString: String! = "Hello, world!"
let implicitString: String = assumedString // automatically unwrapped
```
But if I'm sure it's a string, why not just write:
```swift
let assumedString: String = "Hello, world!"
```
What's the difference? I've heard that IUOs are used for IBOutlet and in some other cases, but I don't understand