<div dir="ltr"><div><div><div><div><div><div><div><div><div>Given the following declarations:<br><br></div>SinOsc s0;<br></div>SqrOsc s1;<br></div>TriOsc s2;<br><br></div>The following gives an error:<br><br></div>[s0, s1, s2] @=&gt; UGen A[];<br>$ ... cannot resolve operator &#39;=&gt;&#39; on types &#39;Osc[]&#39; and &#39;UGen[]&#39;...<br><br></div>But the following works fine:<br></div>[s0, s1, s2] @=&gt; Osc A[];<br><br><br></div>It is not a problem, but would like to understand this behaviour. It would seem that assigning to UGen[] would be ok because it looks like a superclass of Osc[].<br><br></div>Aaah! Is this to do with co/contra-variance?<br></div>