<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Apr 2016, at 19:48, Sean Heber &lt;<a href="mailto:sean@fifthace.com" class="">sean@fifthace.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">This almost seems like it could work so that it didn't even need the bracketed parts to be able to figure out the types:</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">func anyCommonElements(lhs: T, _ rhs: U) -&gt; Bool where</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">&nbsp;&nbsp;&nbsp;T : SequenceType,</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">&nbsp;&nbsp;&nbsp;U : SequenceType,</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">&nbsp;&nbsp;&nbsp;T.Generator.Element: Equatable,</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">&nbsp;&nbsp;&nbsp;T.Generator.Element == U.Generator.Element</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: -webkit-standard; font-size: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">{}</span><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: -webkit-standard; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""><div class="">But if the brackets are kept, we may be able to do away with commas? For example, this Standard Library function:</div><div class=""><br class=""></div><div class=""><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro'; color: rgb(200, 172, 229);" class="">&nbsp; &nbsp; public<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>func<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> + &lt;</span></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro'; color: rgb(73, 162, 210);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">&nbsp; &nbsp; &nbsp; &nbsp; C : </span>RangeReplaceableCollectionType<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">,</span></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro'; color: rgb(73, 162, 210);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">&nbsp; &nbsp; &nbsp; &nbsp; S :&nbsp;</span>SequenceType</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span style="font-variant-ligatures: no-common-ligatures; color: #c8ace5" class="">where</span> <span style="font-variant-ligatures: no-common-ligatures; color: #49a2d2" class="">S</span>.Generator.Element == <span style="font-variant-ligatures: no-common-ligatures; color: #49a2d2" class="">C</span>.Generator.Element</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class="">&nbsp; &nbsp; &gt; (lhs: <span style="font-variant-ligatures: no-common-ligatures; color: #49a2d2" class="">C</span>, rhs: <span style="font-variant-ligatures: no-common-ligatures; color: #49a2d2" class="">S</span>) -&gt; <span style="font-variant-ligatures: no-common-ligatures; color: #49a2d2" class="">C</span></div></div><div class=""><span style="font-variant-ligatures: no-common-ligatures; color: #49a2d2" class=""><br class=""></span></div><div class="">would become:</div><div class=""><br class=""></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class=""><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="font-variant-ligatures: no-common-ligatures; color: #c8ace5" class="">public</span> <span style="font-variant-ligatures: no-common-ligatures; color: #c8ace5" class="">func</span> + (lhs:&nbsp;<span style="color: rgb(73, 162, 210);" class="">C</span>, rhs:&nbsp;<span style="color: rgb(73, 162, 210);" class="">S</span>) -&gt;&nbsp;<span style="color: rgb(73, 162, 210);" class="">C</span>&nbsp;<span style="font-variant-ligatures: no-common-ligatures; color: #c8ace5" class="">where</span> &lt;</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class=""><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="color: rgb(73, 162, 210);" class="">C</span>&nbsp;:&nbsp;<span style="color: rgb(73, 162, 210);" class="">RangeReplaceableCollectionType</span></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class=""><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="color: rgb(73, 162, 210);" class="">C</span>&nbsp;:&nbsp;<span style="color: rgb(73, 162, 210);" class="">SequenceType</span></div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class=""><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span><span style="color: rgb(73, 162, 210);" class="">S</span>.Generator.Element ==&nbsp;<span style="color: rgb(73, 162, 210);" class="">C</span>.Generator.Element</div><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: 'Source Code Pro';" class=""><span style="color: rgb(200, 172, 229);" class="">&nbsp; &nbsp;</span><span style="color: rgb(200, 172, 229);" class="">&nbsp;</span>&gt;</div><div class="">&nbsp;</div></div><div class="">Brackets may also be needed for the api view of the library.</div><div class=""><br class=""></div><div class="">milos</div><div class=""><br class=""></div></body></html>