Adding premature C++ side; supporting only primitive types (including string) for now