If `git_diff_merge` was not previously being wrapped by ObjectiveGit, might I propose that instead of wrapping it now, you might just want to wrap the new `git_diff_tree_to_workdir_with_index` function which creates a merged diff for you in a single call? It covers the primary use case for `git_diff_merge` and is not susceptible to memory leaks in the same way, and allows you to pretend that the `git_diff` isn't being modified underneath you.