9 patrones de TypeScript que eliminan bugs en compile-time