patch compare-by-id, to-string, and Updater interop