タイプ別のインプリメンテーションの追加


あなたが何を言っているのか知っていますが、可能です.
まずこれを見てください.
> [...[,,,], ...[,,]]['length']
5

まず[,,, . . .] ([0, 0, 0 . . .])を実現します
type Arr<N extends number, V extends Array<number> = []> = // TODO
numberNを受け取りました.Array<number>配列も受け付けています.(デフォルト[])
type Arr<N extends number, V extends Array<number> = []> =
	V["length"] extends N
		? V
	  	: Arr<N, [...V, 0]>
Nが0(V ( [] )의 길이)なら、そのまま[]に戻りましょう.
そうでなければ繰り返します.Addを実現しましょう.
先ほどお話しした[...[,,,], ...[,,]]['length']を参考にして、簡単に実現できます.
type Add<A extends number, B extends number> = // TODO
A+24579142を作るために、上のコードのようにパラメータを受け入れます.
[...Arr<A>, ...Arr<B>] extends { length: infer L }
    ? L extends number    
      ? L
      : never
    : never;
Bは、[...Arr<A>, ...Arr<B>] extends { length: infer L }であってもよい.
これで完成したコード.
type Arr<N extends number, V extends Array<number> = []> =
  V["length"] extends N
    ? V
    : Arr<N, [...V, 0]>;
  
type Add<A extends number, B extends number> = 
  [...Arr<A>, ...Arr<B>] extends { length: infer L }
    ? L extends number    
      ? L
      : never
    : never;

実はでたらめだ.