What are generics in TypeScript and why use them? | LetsGit.IT