In literate-haskell-mode, given some input like
The command delete-trailing-whitespace removes the empty code lines, producing:
The problem with this is that this results in two separate code blocks for bar and baz which are potentially typeset very differently than a single code block containing three lines with the middle being empty.