using System; public interface IFoo[S] { } public class ArrayList[T] { public virtual InsertAll (_ : IFoo[T]) : int { 0; } public virtual InsertAll[U] (_ : IFoo[U]) : int { 1; } public virtual AddAll (mutable foo : IFoo[T]) : int { InsertAll (foo); } } class X { static Main () : int { mutable list_ = ArrayList (); list_.AddAll (null); } } /* BEGIN-OUTPUT END-OUTPUT */