Type-safe C++11 API to create SMT-LIB 2.0 formulas