sig
  type t =
      Invalid
    | Set of Integer.t list
    | Interval of Integer.t * Integer.t * Integer.t
    | Imprecise of Integer.t * Integer.t
  val filter_by_bound_for_reading :
    with_alarms:CilE.warn_mode ->
    Ival.t -> Integer.t -> Base.validity -> Tr_offset.t
  val filter_by_bound_for_writing :
    with_alarms:CilE.warn_mode ->
    exact:bool -> Ival.t -> Integer.t -> Base.validity -> bool * Tr_offset.t
end