code: function (arg) {
      var self = this;
  
      var argType = arg[0];
      var argValue = arg[1];
  
      var argCode;
      switch (argType) {
      case 'STRING':
      case 'NUMBER':
      case 'BOOLEAN':
      case 'NULL':
        argCode = BlazeTools.toJSLiteral(argValue);
        break;
      case 'PATH':
        argCode = self.codeGenPath(argValue);
        break;
      case 'EXPR':
        // The format of EXPR is ['EXPR', { type: 'EXPR', path: [...], args: { ... } }]
        argCode = self.codeGenMustache(argValue.path, argValue.args, 'dataMustache');
        break;
      default:
        // can't get here
        throw new Error("Unexpected arg type: " + argType);
      }
  
      return argCode;
    }
docs: Generates code for an `[argType, argValue]` argument spec, ignoring the third element (keyword argument name) if present.  The resulting code may be reactive (in the case of a PATH of more than one element) and is not wrapped in a closure.