"compile-time correctness"?!
All a compiler can say is that it compiles. It has no idea if the program does what you want.
All a compiler can say is that it compiles. It has no idea if the program does what you want.
All it says is that the program pieces fit together. The small benefit of knowing my potentially wrong program got the types of whatever is being passed around right gives me very little comfort when I think about the flexibility I lose by using statically typed languages.