`type t````=` `{`

`idx : ItvPure.astate;`
`size : ItvPure.astate;`

`}```
`val compare : t ‑> t ‑> int`
`val get_symbols : t ‑> InferModules__Itv.Symbol.t Base__List.t`
`val set_size_pos : t ‑> t`
`val pp : F.formatter ‑> t ‑> unit`
`val pp_description : F.formatter ‑> t ‑> unit`
`val make : idx:ItvPure.t ‑> size:ItvPure.t ‑> t option`
`val have_similar_bounds : t ‑> t ‑> bool`
`val has_infty : t ‑> bool`
`val xcompare : lhs:t ‑> rhs:t ‑> [> `Equal | `LeftSubsumesRight | `NotComparable | `RightSubsumesLeft ]`
`val filter1 : t ‑> bool`
`val filter2 : t ‑> bool`
`val check : t ‑> checked_condition`
`val subst : Itv.Bound.t AbstractDomain.Types.bottom_lifted InferModules.Itv.SymbolMap.t ‑> t ‑> t option`