luaL_argcheck
luaL_argcheck(L, t == LUA_TTABLE || t == LUA_TSTRING, 1,
luaL_argcheck(L, 1 <= i, 1, "index out of range");
luaL_argcheck(L, 2 <= base && base <= 36, 2, "base out of range");
luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2,
luaL_argcheck(L, 0 <= f, farg, "field cannot be negative");
luaL_argcheck(L, 0 < w, farg + 1, "width must be positive");
luaL_argcheck(L, co, 1, "coroutine expected");
luaL_argcheck(L, co, 1, "coroutine expected");
luaL_argcheck(L, uchar(c) == c, i, "value out of range");
luaL_argcheck(L, tr == LUA_TNUMBER || tr == LUA_TSTRING ||
luaL_argcheck(L, -1 < diff && diff < 1, arg,
luaL_argcheck(L, -1 < diff && diff < 1, arg,
luaL_argcheck(L, 1 <= pos && pos <= e, 2, "position out of bounds");
luaL_argcheck(L, 1 <= pos && pos <= size + 1, 1, "position out of bounds");