I read libgit2/libgit2#2135, but I am not convinced that lg2 shouldn't handle this case. Instead of all of the bindings special casing and handling the unborn head case separately (and e.g. handling the fast-forward, non-fast forward allowed merge types), it would seem cleaner if lg2 could handle these scenarios and then the bindings can just act of the return from the `git_merge_from_*` functions.