arâmetros genéricos redundant

Eu tenho essas duas interfaces e classes:

public interface Identifiable<T> {
    T getId();
}

public interface GenericRepository<T extends Identifiable<K>, K> {
    T get(K id);
}

public class MyEntity implements Identifiable<Long> {

    private Long id;

    public Long getId() {
        return id;
    }
}

public class MyService {
    private GenericRepository<MyEntity, Long> myEntityRepository;
}

Tudo funciona como desejado. Mas, na minha opinião, o segundo parâmetro genérico no GenericRepository (K) é redundante. Como sei que o MyEntity é um identificável, acho que seria ótimo se finalmente pudesse usá-lo assim:

public class MyService {
    private GenericRepository<MyEntity> myEntityRepository;
}

Mas estou tentando coisas diferentes sem ter sucesso. É possível? Se não, por que não?

ATUALIZAR Respondendo a algumas respostas. Eu acho que o compilador sabe algo sobre qual tipo é o genérico no MyEntity. Por exemplo

public class MyEntityGenericRepository implements GenericRepository<MyEntity, Long> {
    // compiles...
}

public class MyEntityGenericRepository implements GenericRepository<MyEntity, String> {
    // compiler says: "Bound mismatch: The type MyEntity is not a valid substitute for the bounded parameter <T extends Identifiable<K>> of the type GenericRepository<T,K>"
}