An Object should be about representing a libgit2 object rather than showing which methods it should support. Change any return of Object to *Object and provide methods to convert between this and the particular type.
Includes 'git_describe_commit' and 'git_describe_workdir'.