Почему универсальная ICollection не реализует IReadOnlyCollection в .NET 4.5?

В .NET 4.5 / C # 5,IReadOnlyCollection<T>&nbsp;объявлен сCount&nbsp;имущество:

public interface IReadOnlyCollection<out T> : IEnumerable<T>, IEnumerable
{
    int Count { get; }
}

Мне интересно, неужели это не имело бы смысла дляICollection<T>&nbsp;реализоватьIReadOnlyCollection<T>&nbsp;интерфейс также:

public interface ICollection<T> : IEnumerable<T>, IEnumerable, *IReadOnlyCollection<T>*

Это означало бы, что классы, реализующиеICollection<T>&nbsp;будет автоматически реализованIReadOnlyCollection<T>, Это звучит разумно для меня.

ICollection<T>&nbsp;абстракция может рассматриваться как продолжениеIReadOnlyCollection<T>&nbsp;абстракция. Обратите внимание, чтоList<T>например, реализует обаICollection<T>&nbsp;а такжеIReadOnlyCollection<T>.

Однако это не было разработано таким образом.

Что мне здесь не хватает? Почему вместо этого была выбрана текущая реализация?

UPDATE

Я ищу ответ, который используетObject Oriented design reasoning&nbsp;объяснить почему:

A concrete class such as List<T> implementing both IReadOnlyCollection<T> and ICollection<T>

is a better design than:

ICollection<T> implementing IReadOnlyCollection<T> directly

Также обратите внимание, что это по сути тот же вопрос, что и:

Why doesn't IList<T> implement IReadOnlyList<T>? Why doesn't IDictionary<T> implement IReadOnlyDictionary<T>?