# Assignment from an array to stream or array for inner types that are unrelated generates an error class CoVar shared var foo2 as IFoo* var afoo2 as IFoo[] def main # array to stream covariance - except they are unrelated CoVar.foo2 = @[BarNoFoo(), BarNoFoo()] # .error. cannot assign value of type BarNoFoo[] on the right to IFoo* on the left # array to array covariance - except they are unrelated CoVar.afoo2 = @[BarNoFoo(), BarNoFoo()] # .error. Cannot assign value of type BarNoFoo[] on the right to IFoo[] on the left interface IFoo pass class Bar implements IFoo pass interface INoFoo pass class BarNoFoo implements INoFoo pass