Function that returns nothing seems different than function that returns `nil`:
print(f()) -- prints nil
print(g()) -- prints empty line
How to recognize this at the function call? For example how to implement an universal wrapper that would suppress all errors and still returns exactly the same thing as wrapped function in case of success?
function supperess(f, ...)
success, result = pcall(f, ...)
print(supperess(f)) -- prints nil
print(supperess(g)) -- also prints nil, how to fix it?