infer përdoret brenda një conditional type për të kapur (nxjerrë) një tip nga brenda një tipi tjetër në një ndryshore të ri tipi që mund ta përdorni më pas. Është përputhje e modeleve për llojet.
<T> = T (infer U)[] ? U : ;
A = <[]>;
B = <[]>;
