Open
Description
What's the problem this feature will solve?
The current data structure for assertion AST, which contains assertion explanations, is a large chunk of string generated in rewrite.py. This string is then passed to format_explanation for further formatting.
Describe the solution you'd like
Implement a more flexible data structure (such as a tree) to construct the assertion explanations. This structure can then provide the string representation when needed, allowing for greater flexibility and potential improvements in how explanations are handled and formatted.