I've changed this method over to "Merge" but I'm a little unsure of how to proceed. Which MergeHead class did you mean? I didn't think you meant the preexisting one but I also didn't think you meant hand the GitMergeHeadHandle over to consumers and it was stated above that GitMergeHead should be internal to libgit2 so I assumed it wasn't that one either (just in case I didn't remove it yet). Any hints on the signature you were thinking of?