infer ایک conditional type کے اندر استعمال ہوتا ہے ایک قسم کو پکڑنے (نکالنے) کے لیے دوسری قسم کے اندر سے ایک نئی قسم کی متغیر میں جو آپ بعد میں استعمال کر سکتے ہیں۔ یہ اقسام کے لیے pattern-matching ہے۔
<T> = T (infer U)[] ? U : ;
A = <[]>;
B = <[]>;
