Java generics - mengapa "extends T" diizinkan tetapi tidak "mengimplementasikan T"?

Saya bertanya-tanya apakah ada alasan khusus di Jawa untuk selalu menggunakan " extends" daripada " implements" untuk mendefinisikan batasan typeparameter. Contoh: public interface C {} public class A<B implements C>{} dilarang tapi public class A<B extends C>{} benar. Apa...