Generics Java - dlaczego „rozszerza T” jest dozwolone, a nie „implementuje T”?

Zastanawiam się, czy jest jakiś szczególny powód w Javie, aby zawsze używać „ extends” zamiast „ implements” do definiowania granic parametrów. Przykład: public interface C {} public class A<B implements C>{} jest zabronione, ale public class A<B extends C>{} jest poprawne....