Right now a return value is added if there isn't a parameter with the name "return". I suggest that we instead only add the default return value if no OUTPUT or BOTH parameters are declared.
I think this would also involve changing the logic of getReturnValue.. either to the first/last OUTPUT parameter, or a list of all OUTPUT parameters..