Cuándo usar Zod en lugar de TypeScript para validación en runtime