include sig ... end
val equal : t -> t -> bool
val compare : t -> t -> int
val pretty : unit -> t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val name : unit -> string
val to_yojson : t -> Yojson.Safe.t
val arbitrary : unit -> t QCheck.arbitrary
val is_definite : t -> bool
val to_cil : t -> GoblintCil.lval
val to_cil_exp : t -> GoblintCil.exp
val type_of : t -> GoblintCil.typ
val collapse :
(V.t * [> `Field of F.F.t * 'b | `Index of F.I.t * 'b | `NoOffset ] as 'a) ->
(V.t * 'c) ->
bool
val leq :
(V.t * [> `Field of F.F.t * 'b | `Index of F.I.t * 'b ] as 'a) ->
(V.t * [> `Field of F.F.t * 'd | `Index of F.I.t * 'd | `NoOffset ] as 'c) ->
bool
val join :
('a * [> `Field of F.F.t * 'c | `Index of F.I.t * 'c ] as 'b) ->
('d * [> `Field of F.F.t * 'f | `Index of F.I.t * 'f ] as 'e) ->
'g * [> `Field of F.F.t * 'i | `Index of F.I.t * 'i | `NoOffset ] as 'h
val replace : GoblintCil.varinfo -> GoblintCil.exp -> ('a * F.t) -> 'b * F.t