`type elem````=`

`|` `ArrAccess of InferBase.Location.t`
`|` `ArrDecl of InferBase.Location.t`
`|` `Assign of InferBase.Location.t`
`|` `Call of InferBase.Location.t`
`|` `Return of InferBase.Location.t`
`|` `SymAssign of AbsLoc.Loc.t * InferBase.Location.t`
`|` `UnknownFrom of InferIR.Typ.Procname.t * InferBase.Location.t`

``
`val compare_elem : elem ‑> elem ‑> int`
`type t````=` `{`

`length : int;`
`trace : elem list;`

`}```
`val compare : t ‑> t ‑> int`
`val singleton : elem ‑> t`
`val add_elem : elem ‑> t ‑> t`
`val add_elem_last : elem ‑> t ‑> t`
`val append : t ‑> t ‑> t`
`val pp_elem : F.formatter ‑> elem ‑> unit`
`val pp : F.formatter ‑> t ‑> unit`
`val is_unknown_elem : elem ‑> bool`
`val has_unknown : t ‑> bool`