So what are you complaining about? That the compiler told you
"Don't do that" but you ignored it?
I mean, you said:
>> Knowing the type of everything won’t save you
but the compiler is trying to save you! You have to actively work against it in order to hang yourself, and you blame the language?