Idigicon's "Derby Day" was written entirely using Gosub/Return. Not a single function anywhere.
Surly we have to concider gosub return as a function call, just with all viables as global.
That is pre "sub" or "function" isnt gosub/return HOW we used to sub program our programs?
ANyway I dont see whats wrong in letting a programmer have (what is in effect) a jump command. Yes its over use makes code a nightmare, BUT somtimes it offers elegant solutions.