TypeScript

Inferring union types instead of overloads in generics in TypeScript

TypeScriptAdvanced GenericsInference Limitationsadvanced

What this snippet does

Generics don't create overloads for mixed types; they infer a union, meaning the return type is the union, not the specific input type.

Expected output

string | number

Why practise typing this

Typing advanced generics code builds muscle memory for the symbols and indentation TypeScript uses most, which prose-based typing tests never cover. DevType measures your words per minute and accuracy on this snippet and tracks the individual characters you mistype, so later lessons can target them.

More TypeScript practice

Browse all TypeScript snippets →