I couldn't see a method to make a GTTree using the resulting git_tree without casting the other way. I guess I could add to GTTree:

    - (id)initWithTree:(git_tree *)theTree inRepository:(GTRepository *)theRepo;
    + (id)treeWithTree:(git_tree *)theTree inRepository:(GTRepository *)theRepo;