What kind of equality do we really want?

the commit sha should remain the same, but is a GraftedCommit the same as the Commit it represents?