Não é permitido restringir um critério a tipos além da definição de um componente, a não ser que a restrição de tipos seja ...

Não é permitido restringir um critério a tipos além da definição de um componente, a não ser que 
a restrição de tipos seja aplicada ao mesmo tipo para todas as propriedades.
Esse critério restringe a um tipo o componente que usa a relação {0} além do escopo de sua definição. O caminho
no componente direciona {1} como o ponto de extremidade. Todas as propriedades no critério que estão direcionadas a este 
componente devem direcionar o tipo {1} usando ou não uma restrição de tipo. Se elas direcionarem um tipo 
diferente de {1}, ainda deverão direcionar 
um único tipo para todas as propriedades. Se o critério incluir uma ou mais classes abstratas com
e sem restrição de tipo, considere aplicar a mesma restrição de tipo a todas elas.