Shawn.. you hit exactly what I'm talking about. I hear all the discussion about functions returning a single value for each set of inputs (hence the definition of a mathematical function), however whatever you wish to call it, it would be nice to be able to return multiple values with a routine. Yes, this can be done with a subroutine (Using gosub and return), but applying the structure of a function to a subroutine is beneficial.

Perhaps using:
SUB a($x)
endsub

would make more sense, but because we already have:

function a($x)
endfunction

... why not just add the option to use:

function a(global $x)
endfunction

Does it really matter what you want to call it?

If you want to get really wild you could change creating functions or subroutines to something like:

DIM hello(global $x,$y,$z){}

It could be either function or subroutine..

(Is my thinking way off here?)

Brian