Сообщение об ошибке гласит:
product
ожидает, что его параметр типа является подтипом Product
, но ваш параметр типа является неограниченным и, следовательно, может быть любым, включая что-то, что не является подтипом из Product
.
Итак, один из способов решения этой проблемы - убедиться, что вы ограничиваете T
в подтипе Product
.