<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Jan 4, 2018, at 3:43 PM, Nevin Brackett-Rozinsky &lt;<a href="mailto:nevin.brackettrozinsky@gmail.com" class="">nevin.brackettrozinsky@gmail.com</a>&gt; wrote:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">There’s a lot of information here and it’ll take some time to process it all. My initial reaction is that a “strong type-alias” feature might help. If one could write (strawman syntax):<div class=""><br class=""></div><div class=""><font face="monospace, monospace" class="">strong typealias Dog = PyVal&nbsp; &nbsp; // A semantically independent new type</font></div><div class=""><font face="monospace, monospace" class=""><br class=""></font></div><div class=""><font face="monospace, monospace" class="">extension Dog {</font></div><div class=""><font face="monospace, monospace" class="">&nbsp; &nbsp; // Declarations here are only available on “Dog”, not on “PyVal”</font></div><div class=""><font face="monospace, monospace" class="">}</font></div><div class=""><br class=""></div><div class="">then most of the overload issues would evaporate.</div></div></div></blockquote><br class=""></div><div>Until and if there were an acceptable design for such a feature, it is impossible to say whether it would help. &nbsp;I am personally skeptical that "strong type aliases" will ever make it into Swift.</div><div><br class=""></div><div>-Chris</div><div><br class=""></div><br class=""></body></html>