In Swift up to and including Swift 3, I can't create a single-element tuple where the element is named. So
func foo() -> Bar
func foo() -> (bar: Bar)
func putTaskOnQueue() -> (receipt: CancellableTask)
func updateMyThing() -> (updatedSuccessfully: Bool)
Yes, it's due to limitations in the compiler. There are no one-tuples in Swift at all. Every
T is trivially convertible to and from
(T). SE-110 and SE-111 should improve things, but I'm not sure it will be enough to make this possible and I don't believe any of the current proposals explicitly do make it possible.
It has been discussed on swift-evolution. It's not a desired feature of the language; it's a result of other choices.
The Swift Evolution process is very open. I highly recommend bringing questions like this to the list (after searching the archives; admittedly not as simple as you would like it to be). StackOverflow can only give hearsay; the list is much more definitive.