In OxygenBasic, gosub is terminated by ret. Return is used for sub, function and method. It is occasionally useful when porting code.
methods are only used inside classes, and have a hidden 1st parameter: the object pointer.
Peter Verhas uses OOP techniques in the C source of ScriptBasic. The interesting thing is, he has swapped the object pointer and function table pointer (comparing with C++ and COM conventions).
Usually the 1st entry in an object is a pointer to the function table.
Charles