Realmente, é bem perigoso ficar usando 'as' em contextos onde nao se tem plena certeza que o dado é realmente do tipo inferido. Eu tenho estuda onuso da biblioteca yup para realizar validações, o que me interessa nela é poder colocar mais restrições além de somente o tipo, por exemplo, no schema eu posso colocar uma propriedade como string de pelo menos n caracteres e o yup consegue fazer essa validação pra mim. Outra que aprendi a usar a um tempo é a fireorm (parecida com a typeorm mas para integração com o firebase), ela tem um funcionamento parecido só que através de decorators que colocamos nas propriedades de uma classe. Uma pergunta, o zod teria funções de validação como essas do yuo e fireorm?
Em resposta a Você não deveria usar `as DataType` no TypeScript
2