See my comments on dedent in the services module.  This approach adds a lot of bytes into the stream, and makes the writing  unit tests prone to error