Indentation by white space is a very bad idea in my experience. Superficially attractive but ultimately very dangerous. I once spent a couple of days tracking down a bug caused by a source-to-source code tool that broke a major program because the code it was injecting into had indented one more space, causing the injecting code to break the control flow. It was nearly impossible to track down.
I have lots of other examples of lesser disasters. As code grows, white space indentation becomes ever more problematic. It's a maintenance disaster. Put it this way: It's unwise to make program structure depend on invisible characters. -rob