Tuple '(key: Choice, value: Int)' and '(Choice, Int)' not equivalent?

Because the compiler infers the labels due to the return type of the function.

Just like in the examples from the docs:

var someTuple = (top: 10, bottom: 12)  // someTuple is of type (top: Int, bottom: Int)
someTuple = (top: 4, bottom: 42) // OK: names match
someTuple = (9, 99)              // OK: names are inferred
1 Like