Тип поля в аргументе
T[K] можно использовать не только как тип результата, но и как тип аргумента. Тогда TypeScript будет проверять, что переданное значение подходит под тип конкретного поля.
В задании функция возвращает копию объекта с изменённым полем:

