check that all type arguments are passed to a used generic trait 

Change-Id: Ib08efe5fbe205e48c73bebe86aa6ae9696d91736
check that type arguments are valid for upper bounds

Change-Id: If8d5cebef4057821aff4115f79cee54ab69b9129