That starts to look an awful lot like a fifth access level just for classes (I know you&#39;re not proposing one, but it could start to look that way to a user). I think there&#39;s much to be said for having the word public in front of things that are public. Unless, of course, your strawman keyword is a much maligned compound word that begins with &quot;public&quot;, like &quot;publicoverridable&quot;.<br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 1, 2016 at 01:54 Brent Royal-Gordon &lt;<a href="mailto:brent@architechies.com">brent@architechies.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt; If we&#39;re going to go along those lines, we should just use public(subclassable) and public(overridable).  We can fall back on those if necessary; I would just like to continue looking for better alternatives.<br>
<br>
I would prefer to have a *single* keyword which meant both public and overridable. That would minimize the impact of this feature—instead of writing:<br>
<br>
        public class MyViewController: UIViewController {<br>
                public func displayMe(_ me: person) { … }<br>
        }<br>
<br>
You&#39;d write (strawman keyword):<br>
<br>
        openseason class MyViewController: UIViewController {<br>
                openseason func displayMe(_ me: person) { … }<br>
        }<br>
<br>
And then `MyViewController` could be subclassed, and `displayMe` overridden.<br>
<br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
</blockquote></div>