What makes C++ FFI painful?