sig
val init : (Smt_sig.S.Symbol.t * Smt_sig.S.Type.t) list -> unit
val close : unit -> unit
val assign_constr : Smt_sig.S.Symbol.t -> Hstring.t -> unit
val assign_var : Smt_sig.S.Symbol.t -> Smt_sig.S.Symbol.t -> unit
val print : unit -> unit
val get_variants : Smt_sig.S.Symbol.t -> Hstring.HSet.t
end