型AとBの間に暗黙の型変換があるとして

A a = new B();
B b = new A(); // OK

だけど↓こういうのできないの?

A[] aa = new B[]{};
B[] bb = new A[]{}; // NG

とか

void Method( IList<A> aaa ){};
Method( new List<B>() ); // NG