I tend to be wary of semantic white space. It is so easy for some tool or function to screw up your white space and you have a huge change in meaning that may or may not be visually apparent. I tend to prefer having characters like braces or parentheses (s expressions) denote the tree level and white space purely as non-semantic pretty printing.