it seems as if you completely forgot (or never knew in the first place) what metatables are
string is a library, which is a regular table, not a metatable (see how your code to correct me only prints out the function name and then the function address, not any metamethods)
strings themselves ("abc") have metatables set to them with __index being string so you can use methods from the string library
here's some code for you
Lua:
-- an actual metatable being printed
for k, v in pairs(getmetatable("")) do
print(k, v)
end
output:
Lua: demo