Right now, traversing a GraphQL document is very cumbersome because we need to track `parentType` all the way down, etc... Similarly, transforming a document isn't easy. We should benchmark other AST libs and design a better API for those use cases.