Typescript, Generics, Polymorphism.
constraints As mentioned, “any” is an absence of type, it can be anything in the TS universe. If we want to avoid it, we need to narrow it down to something, to provide a minimum value we expect. This narrowing down is achieved by using constraints. So, let’s imagine we want the fetchData function