docs: function addMacro(definition, _regenerateSchemas) {
    var valid = this._validateMacro(definition);
    if (!valid) throw new Ajv.ValidationError(this._validateMacro.errors);
    // TODO check macro is unique
    this._macros.push(definition);
    if (_regenerateSchemas !== false) generateSchemas();
  }