SVD sort of runs... doesn't (seem?) to terminate, though; using __call to almost match original calling conventions; may need to cross-compare Lua and C++ versions in debuggers