TypeScriptの型で遊ぶ時、再帰制限を無効化する

初めに TypeScriptの型システムはチューリング完全なので何でも計算できます。 例えば繰り返し。 type Repeat<T, N extends number, R extends any[] = []> = R["length"] extends N ? R </t,>