Took out the intermediate 'Dao.PPrint.PPrintState', it was making things too rigid and complicated. Pretty printing will now be done with lists and 'Control.Monad.State.State' combinators with the 'Dao.PPrint.Printer' state only.
I am still simplifying the "Dao.PPrint" module after having eliminated the 'PPrinter' and 'PPrintState' intermediate data structures.