pub trait Cast { fn cast(lua: &mlua::Lua, data: T) -> mlua::Result; }