Implement return types

Works for methods, functions, and closures (all 'function' types). There are
still some issues:
 - Reflection needs reworked