Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
The reason it takes about a generation for these things to happen is that we never change the minds of the people who are most vocal against it. We just have to wait for them to die.
There are only two hard things in Computer Science: cache invalidation and naming things.
10 lines of code = 10 issues.
500 lines of code = “looks fine.”