Plus, if you make use of declaration-site variance...
# random
d
Plus, if you make use of declaration-site variance, you will have to use type projections much more rarely. Notice that
List<out Foo>
will warn you that it is redundant anyway, since the type is declared as covariant already:
public interface List<out T>...