Ten originalni priklad neni tak spatny. Staci mit pretizenou variantu te metody/funkce a hned je veselo - TypeScript totiz magicky obcas odvodi [number, string] a jindy any[] a tak musite hezky rucne mu to nutit (pretypovavat) na miste pouziti.
Ale obecne je to velky problem, pouzivat JS knihovnu v TS. I kdyz je trivialni, tak casto typy nesedi (nejsou aktualni). Kdyz je netrivialni, tak vyjadrit napr. funktor je snad nemozne, takze se musi otrocky vypisovat vsechny typy, pro ktere to muze platit (z jednoho radku se to rozpadne na nekolik pretizeni fce a samozrejme to, ktere potrebujete, chybi). Jsou i problemy s mnohem jednodussimi vecmi - napr. s inferenci generik u castecne aplikovanych funkci. Musi se otrocky vypisovat vsechny typove parametry a kod znacne utrpi na elegantnosti a casto i citelnosti. Prestoze jsem v Haskellu narazil na problemy (records a stejne pojmenovana pole, nedotazene a spatne dokumentovane knihovny), tak jeho typovou inferenci mu muze zavidet kdejaky main-stream jazyk. Tam se typy pisou jen pro programatora, protoze prekladac si je spravne odvodi z pouziti.
A pro toho cloveka, co nevidi, jak to souvisi s tematem: dotaz byl na Angular, aktualni Angular je TypeScript-first a argument, ze "pro vsechny frameworky/knihovny stejne existuji typove soubory, takze neni treba resit, zda to podporuje primo TypeScript" je spatny. Sice je pravdivy, typove soubory existuji pro skoro vse, ale casto byvaji plne any (tzn. v podstate vypnuti typove kontroly), neuplne nebo i spatne. Takze pouzivat takovou knihovnu/framework je velmi nepohodlne a casto skoncim s tim, ze si budto upravim/vytvorim typove soubory sam, nebo si napisu spravne typovane wrappery.