I think a lot of this kind of stuff should have language support (like he mentions), even if it is not that functional and is just as a hint.

That said, utopias are not always a great idea. Making all your code functional might be philosophically satisfying, but sometimes there are good reasons to break the rules.