AsNodes takes a map or slice of the pointer type of the node and turns it into an array of the interface `ast.Node` to make passing it to generic functions easier.
Bagger helpers accumulate a unique (and therefore schema-valid) set of each kind of graphql type keyed by node name, handily providing helpers to add fields directly to top-level query/mutation/subscription types.