bool strictCheckArgTypes(lua_State* state, const ConstructorFunctor<T>& con, int opt_count = 0) { return con.strictCheckArgTypes(state, opt_count); }
std::string argTypesName(const ConstructorFunctor<T>& con) { return con.argTypesName(); }
template <class T> std::string argTypesName(const ConstructorFunctor<T> &con) { return con.argTypesName(); }