Protocol for extending the prettyprinter on custom data types