Proofview_monad.Trace
type 'a forest = 'a tree list
The intent is that an 'a forest
is a list of messages of type 'a
. But messages can stand for a list of more precise messages, hence the structure is organised as a tree.
To build a trace incrementally, we use an intermediary data structure on which we can define an S-expression like language (like a simplified xml except the closing tags do not carry a name).
close
closes the last open tag. It is the responsibility of the user to close all the tags.