Почему при неявной реализации метода интерфейса нельзя возвращать из метода более производный тип, чем указано в интерфейсе? Приходится писать явную реализацию интерфейса плюс дополнительный публичный метод, возвращающий нужный тип. Не знаете ли, исправится ли ситуация с добавлением контравариантности в C# 4.0?