sig   type t   val pretty : Format.formatter -> State_imp.t -> unit   val empty : unit -> State_imp.t   val singleton : Cvalue.Model.t -> State_imp.t   val is_empty : State_imp.t -> bool   val length : State_imp.t -> int   exception Unchanged   val merge_set_return_new : State_set.t -> State_imp.t -> State_set.t   val fold : (Cvalue.Model.t -> '-> 'a) -> State_imp.t -> '-> 'a   val iter : (Cvalue.Model.t -> unit) -> State_imp.t -> unit   val exists : (Cvalue.Model.t -> bool) -> State_imp.t -> bool   val join : State_imp.t -> Cvalue.Model.t   val to_set : State_imp.t -> State_set.t   val to_list : State_imp.t -> Cvalue.Model.t list end