sig
exception NoMoreStates
val get_offsets : int array -> int array
val idx_to_varstate : int array -> int -> int array
val varstate_to_idx : int array -> int array -> int
val state_to_idx : int array -> int array -> int array -> int
val incstate : int array -> int array -> int list -> unit
val map_state : int array -> int list -> (int array -> 'a) -> 'a list
val iter_state : int array -> int list -> (int array -> 'a) -> unit
end