When adding a typed array with elements of type A to another typed array with elements of type B using addAll, the type checker rejects the operation if A is not exactly equal to B, even when A is a subclass of B.
For example:
var a = new Array<String>[0];
var b = new Array<Object>[0];
b.addAll( a1 );
In this case, String is a subclass of Object, so the operation should be valid, but the type checker still reports an error on the addAll call.
Notably, adding a single element using add does work as expected:
b.add( "test" );
This suggests inconsistent behavior between add and addAll.