code: func (g *GraphData) UpdateWith(other *GraphData) {
  	for qid, q := range other.Quests {
  		if curQ, ok := g.Quests[qid]; !ok {
  			g.Quests[qid] = q
  		} else {
  			curQ.UpdateWith(q)
  		}
  	}
  }
docs: // UpdateWith updates this GraphData with all of the data contained in other.
  // Assumes that any mutable data in other is more up-to-date than the data in g.