semantic-whitespace is the worst idea since ideas, or at least since null. Cut and paste, or just moving code blocks around, doesn't work smoothly, there's no way to check the semantics other than the formating, it's difficult to judge the correct indent level many lines away, etc, etc.
Use actual delimiters to signify meaning, then auto-format to demonstrate the semantics are what you expect. A kind of double-entry book-keeping for coding.