validation on usage of TypeParameter