Tezos_error_monad.TzTraceSourceA trace is a stack of errors. It is implemented as an error list but such a list MUST NEVER be empty.
It is implemented as a concrete error list for backwards compatibility but future improvements might modify the type or render the type abstract.
include Sig.TRACE with type 'err trace = 'err listThe trace type (included as part of the Tezos_lwt_result_stdlib.Lwtreslib.TRACE module is abstract in this interface but it is made concrete in the instantiated error monad (see error_monad.mli).
The idea of abstracting the trace is so that it can evolve more easily. Eventually, we can make the trace abstract in the instantiated error monad, we can have different notions of traces for the protocol and the shell, etc.
include Tezos_lwt_result_stdlib.Lwtreslib.TRACE
with type 'err trace = 'err listpp_print pretty-prints a trace of errors
val pp_print_top :
(Format.formatter -> 'err -> unit) ->
Format.formatter ->
'err trace ->
unitpp_print_top pretty-prints the top errors of the trace