Allow unsafe SMT expressions to be created
Allow unsafe SMT expressions to be created

This library should be usable by new or existing code that cannot
easily deal with templates. For this reason, each type-safe SMT
expression, Expr<T>, has a corresponding base class without the
template parameter T. To achieve this, we use virtual inheritance.

ahorn/smt-kit,ahorn/smt-kit,ahorn/smt-kit,ahorn/smt-kit,ahorn/smt-kit