Why is the infer keyword needed in Typescript? Why is the infer keyword needed in Typescript? typescript typescript