where T : ... ограничивает T и открывает безопасные операции без кастов.
Разбор
- class/struct/new()/интерфейсы/base.
- new() требует публичный ctor без параметров.
- in/out — про variance.
- Хорошие constraints улучшают API.
Итог
Constraints сужают T и делают операции типобезопасными.