Все, что C может делать, C ++ может делать лучше. Я всегда думал, что исходный текст Lua чертовски трудно читать - на 64-битном уровне выдавались некоторые предупреждения, хотя казалось, что все в порядке.
Беда в том, что в целом пользовательские данные не очень хороши для демонстрации новых типов. Я бы посмотрел на редизайн, а не на переопределение.