نوعهای جنریک بهمون اجازه میدن یه struct یا enum رو بهطور ناقص تعریف کنیم و به کامپایلر اجازه بدیم که در زمان کامپایل، بر اساس نحوهی استفادهمون توی کد، یه نسخهی کاملاً مشخص بسازه.
راست معمولاً میتونه نوع نهایی رو با نگاه کردن به نحوهی نمونهسازیمون تشخیص بده، ولی اگه کمک لازم داشته باشه، همیشه میتونی با عملگر ::<T> صریح باشی؛ این عملگر با اسم turbofish هم شناخته میشه (اون یکی از دوستای خوب منه!).