He has an Indian accent, his name is "Bob", he's far more courteous than any other support rep you've worked with, and his solution to every problem you throw at him is to perform a complete reinstall of your Windows installation.
The only thing this optional construction adds is a redundant data member (used to track whether the optional is assigned or not), whereas a traditional null/nil check can use the original field value to make this determination.
Regarding the multiple redundant checks that optionals encourage, those mostly come from optionals chaining.
Yep, and it encourages repeating that check multiple times in the same construct vs just once. Putting a question mark in the language definition vs a nil/null check does not a well-structured boundary make.
It doesn't from the X86 (emulator) and ARM code I've analyzed, even with full optimizations enabled. Plus even at its most optimal the best it could do are a bunch of branch conditionals, which dirty up the branch-prediction cache.