One further note: I'm wondering if we should reorder the parameters to put the `old_value` next to the `force` flag, since those are at least somewhat related to one another (i.e. how to process existing reference data) and then end with the `signature` and `log_message` stuff. I know the `old_value` also comes into play with the reflog, so I'm not sure about this, but I thought I'd bring it up.