I looked at this again.  Moving the conversion from a user-exposed type to a libgit2 type is always done a layer above the proxy.  It seems weird that `status` would be the only one that does this, so I left this as-is.  If you don't like this then I would prefer a wider approach to this problem.