code: function wrapReturn(trace, clientState, hooks, rules){
    if (util.isFunction(trace.ret) && !trace.ret.__concurix_blacklisted) {
      wrapFunctions(trace.moduleName, trace.ret, -1, hooks, clientState, rules );
      trace.ret = wrap(trace.ret)
            .before(hooks.beforeHook)
            .after(hooks.afterHook)
            .state(clientState)
            .nameIfNeeded(trace.moduleName)
            .module(trace.moduleName)
            .getProxy();
    } else {
      wrapFunctions(trace.moduleName, trace.ret, -1, hooks, clientState, rules );
    }
  }
docs: TODO this may need to know about blacklists, e.g. module A returns an object instance from blacklisted module B