Por que o ICollection genérico não implementa o IReadOnlyCollection no .NET 4.5?

No .NET 4.5 / C # 5,IReadOnlyCollection<T>&nbsp;é declarado com umCount&nbsp;propriedade:

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

Eu estou querendo saber, não teria feito sentido paraICollection<T>&nbsp;para implementar oIReadOnlyCollection<T>&nbsp;interface também:

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

Isso significaria que as classes implementandoICollection<T>&nbsp;Teria implementado automaticamenteIReadOnlyCollection<T>. Isso parece razoável para mim.

oICollection<T>&nbsp;abstração pode ser vista como uma extensão doIReadOnlyCollection<T>&nbsp;abstração. Observe queList<T>, por exemplo, implementa tantoICollection<T>&nbsp;eIReadOnlyCollection<T>.

No entanto, não foi concebido dessa forma.

O que estou perdendo aqui? Por que a implementação atual foi escolhida?

ATUALIZAR

Eu estou procurando uma resposta que usaRaciocínio de design orientado a objetos&nbsp;para explicar por que:

Uma classe concreta comoList<T>&nbsp;implementando ambosIReadOnlyCollection<T> e ICollection<T>

é um design melhor que:

ICollection<T>&nbsp;implementandoIReadOnlyCollection<T>&nbsp;diretamente

Observe também que esta é essencialmente a mesma pergunta que:

Por que nãoIList<T>&nbsp;implementoIReadOnlyList<T>?Por que nãoIDictionary<T>&nbsp;implementoIReadOnlyDictionary<T>?