Outputable

This module defines classes and functions for pretty-printing. It also exports a number of helpful debugging and other utilities such as trace and panic. The interface to this module is very similar to the standard Hughes-PJ pretty printing module, except that it exports a number of additional functions that are rarely used, and works over the SDoc type.
Class designating that some type has an SDoc representation
Values that can be output.
Constraint type to bundle up the requirement for OutputableBndr on both the id and the NoGhcTc of it. See Note [NoGhcTc].
When we print a binder, we often want to print its type too. The OutputableBndr class encapsulates this idea.
Outputable class with an additional environment value See Note [The OutputableP class]
Constraint type to bundle up the requirement for OutputableBndr on both the id and the NoGhcTc of it. See Note [NoGhcTc].
Print an Outputable
Output an Outputable value.
Pretty-print an Outputable thing.