Preservar relación entre entrada y salida
Si una función transforma datos sin cambiar su forma esencial, un genérico captura esa relación.
Duplicar funciones por tipo (string[], number[], User[]) es señal de que falta abstracción genérica.
El beneficio real es mantener tipos concretos al consumir la función, sin perder información en unknown o any.
Cuando el contrato se mantiene estable, el consumidor obtiene autocomplete exacto sin anotaciones extra.