-----------------------------------------------------------
-- overloading "pretty"
-----------------------------------------------------------
putPretty :: Pretty a => a -> IO ()
putPretty p
  = putDoc (pretty p)
putPretty :: Pretty a => a -> IO ()
putPretty p
  = putDoc (pretty p)
putPretty p
  = putDoc (pretty p)