sig
type data = State.t
type t = data IH.t
val states : t
val clear : unit -> unit
val add : int -> data -> unit
val find : int -> data
val mem : int -> bool
val find : int -> data
val replace : int -> data -> unit
val add : int -> data -> unit
val iter : (int -> data -> unit) -> unit
val fold : (int -> data -> 'a -> 'a) -> 'a -> 'a
val length : unit -> int
val pretty : Format.formatter -> State.t IH.t -> unit
end