Customizando a produção de dependências no CDI

Olá pessoal.

Estou tentando implementar algo bem parecido com o que foi proposto neste post http://blog.caelum.com.br/customizando-a-producao-de-dependencias-no-cdi no blog da Caelum.

Porém no meu caso esta dando pau devido ao fato do generics do meu Repositorio/DAO ser um pouco diferente.

Quando eu defino a interface do meu Repositorio/DAO assim:

public interface Repository<Id extends Serializable, Ent extends Entity<?>> {

?

}

Com ??? no Entity o weld consegue resolver a dependência direitinho.

Porém quando eu coloco ?Id? no Entity o weld não consegue mais satisfazer a dependência.

public interface Repository<Id extends Serializable, Ent extends Entity<Id>> {

?

}

Alguém sabe o porquê disto? (Associar a Entity com o Id correto é tão legal!)

Abraços!