Automated tests tests things that can go wrong; but what if those things couldn't even go wrong in the first place?
Code that won't compile won't make it into production. Ever.
It is cheapest to not write any errors at all.
Today Fail at once does two things: It stops compiling when it notices something is wrong and at all other times it tries to help the programmer do the right thing.
Typical example of the first is to always use type safe variables and the latter to name things in such a way that there is one very natural way to write the code. By using this explicitly and intelligently you get a leverage for writing better code faster.