because if you're in an application that has that high of performance needs you're
probably using LuaJIT anyway, and if you're interfacing with unrelated
C libraries you're probably dealing in C data structures already.
Efficient numerical and matrix computing in scripting languages (Octave, NumPy, R, ...) works by having a standard array type that every library uses. No access to C data types is needed beyond that, and LuaJIT really doesn't help (I've never used it in any application).
Tom