Estas son las herramientas de programación a nivel de tipos de TypeScript: computan nuevos tipos a partir de los existentes.
Mapped types — transforman cada propiedad
Un mapped type itera sobre las claves de un tipo y transforma cada una:
<T> = { [K keyof T]: T[K] };
<T> = { [K keyof T]?: T[K] };
{ : ; : ; }
= <>;
