pretty printers for Types are implemented as traits