<div dir="ltr">On 29 October 2017 at 16:04, Adam Kemp <span dir="ltr">&lt;<a href="mailto:adam.kemp@apple.com" target="_blank">adam.kemp@apple.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="auto"><div></div><div>Internal is the right choice here. If it gives too much access then you might consider pulling this code into a separate module.</div><div><br></div><div>If “private” gave access to every extension then any code outside your module could make a new extension and access that method. That would make it effectively public in that you wouldn’t have any ability to limit who can call it.</div><div><div class="gmail-h5"><div><br></div></div></div></div></blockquote><div><br></div><div>there are two very different use cases for which we use extensions.</div><div><br></div><div>1) the extensions i use to split implementation of my own classes into different parts and / or files. for the sake of this discussion let&#39;s call this type of extensions a &quot;continuation&quot;. </div><div><br></div><div>2) the extensions that are used to extend other people classes or system classes. this matches what we have now.</div><div><br></div><div>speaking of (1) the naïve newcomers from C++ land would consider these continuations the same as splitting their C++ class implementation into separate files. e.g. the expectation is having an ability to access &quot;private&quot; members. if such a thing existed in swift at all it wouldn&#39;t be unimaginable having an ability to add variables in these continuations the same way as in the class itself. here  &quot;protected&quot; access level would be a reasonable addition, and if we want to be totally nitpicky &quot;protected&quot; would be for subclasses and some other keyword, say, &quot;extensionprivate&quot; or &quot;domestic&quot; for continuations.</div><div><br></div><div>an interesting challenge would be somehow prohibiting external people adding continuations to your own classes :)</div><div><br></div><div>Mike</div><div><br></div></div></div></div>