I used to think that but changed my mind when it comes to programming languages. Mainly because once complexity is there, unless it's just a single developer or very tightly controlled / peer reviewed development practice, different contributors will use various subsets of features of the language and so you still have to know all the complex edge cases because you might have to read code. And arguably code is read more than written.