code: function () {
      var viewToEvaluateArg = null;
      if (w.parentView && w.parentView.name === 'InOuterTemplateScope') {
        viewToEvaluateArg = w.parentView.originalParentView;
      }
      if (viewToEvaluateArg) {
        return Blaze._withCurrentView(viewToEvaluateArg, argFunc);
      } else {
        return argFunc();
      }
    }
docs: This is a little messy.  When we compile `{{> Template.contentBlock}}`, we wrap it in Blaze._InOuterTemplateScope in order to skip the intermediate parent Views in the current template.  However, when there's an argument (`{{> Template.contentBlock arg}}`), the argument needs to be evaluated in the original scope.  There's no good order to nest Blaze._InOuterTemplateScope and Spacebars.TemplateWith to achieve this, so we wrap argFunc to run it in the "original parentView" of the Blaze._InOuterTemplateScope.  To make this better, reconsider _InOuterTemplateScope as a primitive. Longer term, evaluate expressions in the proper lexical scope.