Amendments from HLint suggestions
Use HughesPJ pretty-printing library for display

This change has cleaned up more of the operation so there is less
interweaving of string generation and string output. We generate and
then print the Doc in one location.