This visual execution trace shows how recursive generic types work in TypeScript. We start by defining a generic type NestedArray<T> that can be either a value of type T or an array of NestedArray<T>. When we instantiate it with number, the type expands recursively to allow nested arrays of numbers. The recursion stops when the type reaches the base case, which is the primitive type number. The example value demonstrates valid nested arrays and numbers matching the type. Variable tracking shows how the generic placeholder T is replaced by number and how the example variable holds the nested array structure. Key moments clarify why recursion stops and how the type can hold both single values and arrays. The quizzes test understanding of type expansion, recursion stopping point, and how changing T affects the type. The snapshot summarizes the concept with syntax and behavior. This helps beginners see step-by-step how recursive generic types expand and resolve.