Isso é natural, pois enquanto no JavaScript você pode fazer algo do tipo:

const sum = (a, b) => a + b;
// esse codigo é valido, embora a não seja obrigatoriamente um numero, ou uma string

no typescript o equivalente desta função seria

const sum = (a: any, b: any) => a + b;

Nesse caso o typescript te obriga a testar o tipo, para evitar erros em runtime.

Pra que usar any? melhor continuar no js hehe

o certo seria

const sum = (a: number, b: number) => a + b;
`any` foi apenas para representar exatamente o mesmo codigo em TS, uma vez que o Javascript não checa tipos de argumentos de função.
Deve-se evitar o any, mas qd dá erro de tipagem dizendo q o tipo pd ser qq coisa, eu costumo colocar o any pra tirar o erro. Não vejo mal nisso... me corrijam se eu estiver errado.