code: func dethunkMapWithBreadthFirstTraversal(finalResults map[string]interface{}) {
  	dethunkQueue := &dethunkQueue{DethunkFuncs: []func(){}}
  	dethunkMapBreadthFirst(finalResults, dethunkQueue)
  	for len(dethunkQueue.DethunkFuncs) > 0 {
  		f := dethunkQueue.shift()
  		f()
  	}
  }
docs: // dethunkWithBreadthFirstTraversal performs a breadth-first descent of the map, calling any thunks
  // in the map values and replacing each thunk with that thunk's return value. This parallels
  // the reference graphql-js implementation, which calls Promise.all on thunks at each depth (which
  // is an implicit parallel descent).