Цитата
return в данном случае не нужен, т. к. функция ничего не возвращает. В место перенаправления и так вернётся.
Феншуй и не более того.
Скорее gosub некоторое подобие функции со своими фишками в виде общей области видимости. Если вы объявляете переменную внутри функции с приставкой local:
local var = 12
тогда этот var не будет виден вне этой функции. Это очень удобно. Например, мы имеем некоторый счетчик, который использует переменную i, мы можем внутри вызываемой функции использовать свою local i и не переживать, что перезапишем вышестояющую переменную (у нас будет своя локальная i с другим значением).