generic-type-injection