<div dir="ltr">Yes, and it&#39;s covered in those previous threads. In brief, not all retroactive modeling involves extending a type:<div><br></div><div>* A vendor supplies you with a closed-source library with a struct S that conforms to standard library protocol P.</div><div><br></div><div>* Protocol P requires a method named foo(), so struct S has its own implementation of foo().</div><div><br></div><div>* You extend protocol P by adding a new default implementation of foo().</div><div><br></div><div>This cannot be done if a keyword is required for overriding a default implementation. There is also nowhere for you to append any sort of &quot;retro&quot; keyword anywhere, because no part of your own code extends S in any way.</div><div><br></div><div>Please, please take the time to study the previous threads; we should not be re-playing existing discussions four or five times on this list.</div><div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 25, 2016 at 10:06 PM, Charles Srstka <span dir="ltr">&lt;<a href="mailto:cocoadev@charlessoft.com" target="_blank">cocoadev@charlessoft.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Is there a reason that adding a “retro” keyword on extensions meant to retroactively apply a protocol is unacceptable?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Charles</div></font></span><span class=""><br><div><blockquote type="cite"><div>On Aug 25, 2016, at 6:44 PM, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Chris, as I wrote above, this idea has been discussed previously on several occasions, and the principal reason why it has been abandoned each time is that it cannot accommodate retroactive modeling. I&#39;ll refer you again to three previous threads discussing this and closely related matters:</span></div></blockquote></div><br></span></div></blockquote></div><br></div></div></div></div>