Abstract interace for Haskell text builders/printers