<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Oct 16, 2017, at 11:06 PM, Thorsten Seitz &lt;<a href="mailto:tseitz42@icloud.com" class="">tseitz42@icloud.com</a>&gt; wrote:</div><div class=""><br style="font-family: Helvetica; font-size: 24px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div style="font-family: Helvetica; font-size: 24px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">The new language features (which are sorely needed anyway) are not necessary for the proposed solution of splitting the protocol. They are necessary to fix or improve the definition of map which is currently lacking as well because it always returns an Array.</div><div style="font-family: Helvetica; font-size: 24px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Alternatively we can continue to live with that. This is a separate question.</div></div></blockquote></div><br class=""><div class="">The language change would be necessary to avoid to consequences I described if you split the protocol. If there are other benefits to that feature then that’s not relevant to this discussion. The point is whether the proposed world where Sequence is split into two protocols would be practical to use, and your suggestion for how to make it work was to add a feature to the language.</div><div class=""><br class=""></div><div class="">I’m not sure how that hypothetical feature relates to the current return type of map being an array. C# doesn’t have your feature, and yet Select takes an IEnumerable&lt;T&gt; and returns IEnumerable&lt;T&gt;. I think the fact that Swift’s map returns an array instead of a Sequence has more to do with other library design decisions. As far as I can tell there’s no reason it couldn’t have been the same as .Net with the current type system.</div><div class=""><br class=""></div><div class="">Your proposal, on the other hand, would require a new type system feature not present in either Swift or C# just to make it tolerable, and I still haven’t seen anyone in this long thread lay out any evidence of a real problem being solved.</div></body></html>