merge-recursive: switch to returning errors instead of dying