Actually, DOM manipulation methods are really good examples of the usage of different overload signatures + generics in TS 👀
I still can't understand the benefits of using function overloads in TypeScript, it seems more confusing then it should be 😵💫
You define a function signature, but then the type of the implementation signature also has to satisfy all clauses