Executando verificação de segurança...
1

é que sem o casting ele não executaria por conflito de tipos...
O problema é q o typescript n foi feito para verificações e sim para facilitar o desenvolvimento!

Carregando publicação patrocinada...
1

Entao por ter este conflito ele protege seu codigo. No caso vc nao consegue compilar seu codigo por conta do erro, sem compilar para JS e sem o bundle vc nao tem a aplicacao. Sendo assim é tarefa do Desenvolvedor identificar esses tipos errados e corrigi-los. Typescript ajuda a identificar os erros, quem deve trata-lo é o dev.

Como comentei anteriormente uso de Zod, Joi , Yup , etc sempre é bom. Porem o seu exemplo esta um pouco fora do contexto.