Parámetros genéricos redundantes

Tengo estas dos interfaces y clases:

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;
}

Todo funciona según lo deseado. Pero en mi opinión, el segundo parámetro genérico en GenericRepository (K) es redundante. Como sé que MyEntity es identificable, creo que sería genial si finalmente puedo usarlo así:

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

Pero estoy intentando cosas diferentes sin tener éxito. ¿Es posible? ¿Si no, porque no

ACTUALIZAR Respondiendo algunas respuestas. Creo que el compilador sabe algo sobre qué tipo es el genérico en MyEntity. Por ejemplo

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>"
}