Per Paul (working draft author):
I see you're avoiding the remove/add/replace operations on the root value. I would document this as a limitation, as the specification makes these operations are valid to apply to the root object. If you can work around such limitations, that would be better.