<div dir="ltr">On 23 June 2017 at 23:18, Tony Allevato <span dir="ltr">&lt;<a href="mailto:tony.allevato@gmail.com" target="_blank">tony.allevato@gmail.com</a>&gt;</span> wrote:<div><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="ltr"><div class="gmail_quote"><div>class C1: C2  ==&gt;  C1() is C2 == true</div><div>class C1: P  ==&gt;  C1() is P == true</div><div>class C1: S  ==&gt;  C1() is S == false?</div></div></div></blockquote><div><br></div><div>ok. changing the rule then:</div><div><br></div><div>C() is S == true</div><div><br></div><div><div><div>foo(x) acts the same way as foo(x.super)</div><div>bar(&amp;x) acts the same way as bar(&amp;x.super)</div></div></div><div><br></div><div>i am not quite sure i am getting the answers along the lines of &quot;use protocol forwarding&quot; instead. i have no protocol to begin with. for a preexisting value type (e.g. OS provided) it would be a nightmare to create and maintain the corresponding protocol.</div><div><br></div><div>Mike<br></div><div><br></div></div></div></div></div>