Conditional Types Infer