docs: function compareValues(lvalue, operator, rvalue, options) {
    const operators = {
      '==': function compareEqual(l, r) { return l === r; },
      '===': function compareIdentical(l, r) { return l === r; },
      '!=': function compareNotEqual(l, r) { return l !== r; },
      '<': function compareLessThan(l, r) { return l < r; },
      '>': function compareGreaterThan(l, r) { return l > r; },
      '<=': function compareLessThanEqual(l, r) { return l <= r; },
      '>=': function compareGreaterThanEqual(l, r) { return l >= r; },
      typeof: function compareTypeOf(l, r) { return typeof l === r; },
    };
  
    /* istanbul ignore if */
    if (!operators[operator]) {
      throw new Error(util.format('Unknown compare operator: %s', operator));
    }
    const result = operators[operator](lvalue, rvalue);
    if (result) {
      return options.fn(this);
    }
  
    return options.inverse(this);
  }