Concept
A type parameter can have a default, like T = unknown, and TypeScript infers parameters from arguments wherever it can. Understanding where inference comes from tells you when to spell a type out.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Generic defaults and inference doing its job.
type Result<T = void> = { ok: true; value: T } | { ok: false; error: string };
const done: Result = { ok: true, value: undefined };
function wrap<T>(value: T): Result<T> {
return { ok: true, value };
}
const r = wrap({ id: 1 }); // Result<{ id: number }>
const empty = wrap<string[]>([]); // explicit: [] alone would infer never[]Passing an empty array or object literal and letting inference pick never[] or {}. When there is nothing to infer from, give the type parameter explicitly.
Your roadmap puts these before Generic defaults and inference, unless you already know them.
Once a session shows you understand Generic defaults and inference, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.