The hack is to detect if any non-nil value is returned, but
it leaves this rather important 'corner' case broken:
try
return
else
end
print 'gets here!'
Works with my version: returned_values would contain { } rather than nil if an empty return was caught. If you handle multiple return values correctly, returning zero values is not a special case.
-- Fabien.