Question: In Swift, what's the difference between calling `UINavigation()` vs `UINavigation.init()`? They both seem to return valid instance of `UINavigationController`.

Answer: 
`UINavigationController()` and `UINavigationController.init()` are the exact same thing. You can verify this by typing both into a Playground and then `option`-clicking on them. Both bring up the documentation for the same initializer.

The Swift convention is to use just the type name (without `.init`).
From Apple docs, you use `init` when you are subclassing the controller. It looks like without passing a value to the unit function, it just returns a standard UINavigationController

<https://developer.apple.com/reference/uikit/uinavigationcontroller>