Implemented support for return types. (at the expense of void(...) type functions)