Generic
Capacidade de criar um componente que pode funcionar em uma variedade de tipos ao invés de um único.
Isso permite que os usuários consumam esses componentes e usem seus próprios tipos.
Generic Type
Define um tipo genérico, que pode receber qualquer tipo de dado.
Os tipos são inferidos de acordo com os valores recebidos.
É padrão usar a letra " T " para representar o tipo genérico.
Exemplo:
function fn (arg: T): T { return arg; }
const arg: string = fn('testando Generic Type');
const arg2: number = fn(999);