Обобщения Java - почему «расширяет T» разрешено, но не «реализует T»?

Интересно, есть ли в Java особая причина использовать всегда " extends", а не " implements" для определения границ параметров типа. Пример: public interface C {} public class A<B implements C>{} запрещено, но public class A<B extends C>{} правильно. В чем причина...