> On Jun 9, 2017, at 1:17 PM, Gor Gyolchanyan via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Yes, except why would you need to define `((A, B)) -> C`?, If you need to 
> pass a 2-element tuple into a function that takes two parameters - you can! 
> If you want to pass two values into a function that  *looks* like it takes a 
> single 2-element tuple - you can! Seems to me that the difference between 
> `((A, B)) -> C` and `(A, B) -> C` is virtually non-existent. But keep in mind 
> that this only works for bare tuples (the ones that can't have labels). 
> Non-closure functions DO have labels, which is part of their signature, so 
> this is a different story.

Exactly. Been trying to communicate this for awhile. The types are almost 
always completely isomorphic and so the distinction barely exists. 
Function-only modifiers (like inout) make things slightly more complicated but 
I don’t think is an insurmountable problem.

Really miss the expressiveness we lost :/
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to