Futures for commits, but not trees or blobs

do all the trees first?

Inline the commit-tree future?

Use kept promise?