The tracetree library can be used to conveniently write Haskell data structures as trees represented as JSON files. These JSON files can then be inspected with any JSON viewer; the JSON viewer's functionality to collapse part of the JSON tree can be particularly convenient when exploring large objects.
Additionally, the ttrender executable can be used to render these JSON trees as .svg or .png files, and provides various command line flags for controlling the layout of the tree (colour, orientation, hiding nodes, etc.).
The tracetree library and ttrender executable are independent components; if you don't want to add the dependency on tracetree to your project, you can just generate the .JSON files directly in your code; the format is not complicated (indeed, you can create them by hand or post-process previously exported .JSON files).
Some example trees generated by (an earlier version of) tracetree
can be seen in the Qualified Goals in the Cabal Solver blog post.