support recovering comments from internal attributes on nodes
correct mis-combined spacing
try harder to preserve comments while parsing