An optional is not a pointer. (Nor is it a reference). And that's not simply a matter of names. They are completely different things. Suppose you had an array of 4 optional integers, how do you imagine that is represented in memory?
The memory representation is largely irrelevant to the coding algorithms. It might be important if you're going to do some low-level optimization, but if you're doing low-level optimization where that sort of thing matters, you shouldn't be working in Go, Swift, or Objective-C.
Turing machines are equivalent. That doesn't mean language features are the same. They're not. You might solve a given problem in a similar number of lines in lisp, basic, forth and scheme. It doesn't mean the language features that you would use are the same.
That's why I specified, "similar number of lines and with the same guarantees." The benefits of optional are entirely about the sorts of things that the compiler enforces for you when you use the type. I'm saying that Swift is neither special nor unique here, and that other languages have the same kind of functionality. In C++, you can get the same functionality with boost::optional (which will probably eventually be part of the standard library). With Go, their pointers can act almost exactly like Swift's optionals.
And if you're going to argue performance, Swift may be better than Objective-C, but it's probably not going to be better than Java or Go, and is certainly much slower than C/C++.