(hoping to not get too off topic here)
Do you know why this is? It seems like it would be useful, for the same reason that sole parameters to a function can have a label -- it clarifies the value's role. Most of the time this isn't needed, but it would help a lot for @discardableResult
functions, where the result's role needs some explanation. The call-site can even opt-in to the annotation (but let's ignore that asymmetry here).
(Also, it would benefit the Regex<T>
strawman which uses tuple labels to communicate capture names, as named single-capture regexes otherwise couldn't use this technique)