allow
public class AClass {}
public class BClass : AClass {}
public interface IBase
{
AClass GetStuff();
}
public interface IDerived : IBase
{
BClass GetStuff();
}
the covariance should be working on interface methode/property and class methode/property