Why do I prefer statically typed programming languages?