Which statement most accurately describes how TypeScript handles deep type-level recursion such as a recursive conditional type that builds a tuple of length `N`?
type BuildTuple<N extends number, Acc extends unknown[] = []> =
Acc['length'] extends N ? Acc : BuildTuple<N, [...Acc, unknown]>;