ジェネリクスは途中から入れるようなもんじゃないと思うがね
型自体はフラットな構造で、階層構造はHaskellみたいに型の境界(型クラス)として作ると綺麗にまとまりやすい
型≒クラスで、型自体に階層構造を作ってるような言語だと、ジェネリクスの使い方が面倒よ
Javaの<T extends ClassFoo>とかC#のin/outとかは元の型システムに合わせて入れないといけない面倒な部分

TSの元々の型システムはよく知らないけど、ダックタイピングできるならジェネリクス入れる必要がないし、
クラスがあったり型に階層構造があるなら面倒なのはしょうがない