Having built a compiler for a purely functional language, I can attest that the idea is not as good as it may appear to those who haven't designed such a language. I used to think it would be nice if every statement returned a value, but as a result of the experience I have changed my mind.