`type cond_trace````=`

`|` `Intra of InferIR.Typ.Procname.t`
`|` `Inter of InferIR.Typ.Procname.t * InferIR.Typ.Procname.t * InferBase.Location.t`

``
`val compare_cond_trace : cond_trace ‑> cond_trace ‑> int`
`type t````=` `{`

`proc_name : InferIR.Typ.Procname.t;`
`cond_trace : cond_trace;`
`location : InferBase.Location.t;`
`val_traces : ValTraceSet.t;`

`}```
`val compare : t ‑> t ‑> int`
`val pp_location : F.formatter ‑> t ‑> unit`
`val pp : F.formatter ‑> t ‑> unit`
`val pp_description : F.formatter ‑> t ‑> unit`
`val get_location : t ‑> InferBase.Location.t`
`val get_cond_trace : t ‑> cond_trace`
`val make : InferIR.Typ.Procname.t ‑> InferBase.Location.t ‑> ValTraceSet.t ‑> t`
`val make_call_and_subst : traces_caller:ValTraceSet.astate ‑> caller_pname:InferIR.Typ.Procname.t ‑> callee_pname:InferIR.Typ.Procname.t ‑> InferBase.Location.t ‑> t ‑> t`
`val has_unknown : t ‑> bool`
`val check : t ‑> InferBase.IssueType.t option`