errmsg("operator attribute \"negator\" cannot be changed if it has already been set"))); I feel like the above message is not very helpful.
Something like the following may be more helpful for diagnosis. errmsg("operator %s's attribute \"negator\" cannot be changed if it has already been set", operatorname))); when I "git apply", I've noticed some minor whitespace warning. Other than that, it looks fine.