Refactor pretty printing to handle the white space at the AST level