Optionals
Use optionals to safely working with possibly missing values:
* Missing values are nil
* Present values are wrapped in an optional
Unwrap an optional to access its underlying value:
* Use the forcing-unwrapping operator (!) only if you are sure
* Use if let optional binding to test and unwrap at the same time
Optional Chaining (?) is a concise way to work with chained values