And it will work until something fails! Maybe there should be a test that calls every possible function that invokes to_lua / from_lua with a type where both directions fail?