Couldn't tell from current libgit2 docs. Can we pass nil for merge options / checkout options to merge functions? Not sure whether these should all be struct or *struct.