<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">I'd vote for # 1&nbsp;<br><br>Starting with "func" helps signal that the context is a function. (Though I know some things can precede "func".)<div>&nbsp;</div><div>Having the function name second is important to me: you don't have to scan further for its name.</div><div><br></div><div>Template arguments seem more important than capture lists, so I'd put it before the other.</div><div><br><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);">--<br>C. Keith Ray</span><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div><span style="background-color: rgba(255, 255, 255, 0);">*&nbsp;<a href="https://leanpub.com/wepntk">https://leanpub.com/wepntk</a>&nbsp;&lt;- buy my book?<br>*&nbsp;</span><a href="http://www.thirdfoundationsw.com/keith_ray_resume_2014_long.pdf">http://www.thirdfoundationsw.com/keith_ray_resume_2014_long.pdf</a><span style="background-color: rgba(255, 255, 255, 0);"><br>*&nbsp;<a href="http://agilesolutionspace.blogspot.com/">http://agilesolutionspace.blogspot.com/</a></span></div></div><div><br>On Nov 12, 2017, at 8:11 PM, Brent Royal-Gordon via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><br><span>1. &nbsp; &nbsp;func fn&lt;T&gt;[foo, bar](param: T) throws -&gt; T where T: Equatable { … }</span><br><span>2. &nbsp; &nbsp;func fn[foo, bar]&lt;T&gt;(param: T) throws -&gt; T where T: Equatable { … }</span><br><span>3. &nbsp; &nbsp;func [foo, bar] fn&lt;T&gt;(param: T) throws -&gt; T where T: Equatable { … }</span><br><span>4. &nbsp; &nbsp;[foo, bar] func fn&lt;T&gt;(param: T) throws -&gt; T where T: Equatable { … }</span></div></blockquote></div></body></html>