TypeScript Conditional Type Inference in Function Parameters
Conditional Types are type-level conditional expressions of the form:
SomeType extends OtherType ? TrueType : FalseType;
TypeScript can infer types for expressions in many cases, but it seems to be unable to do so for