code: func (p Pairs) Add(other []Pair) []Pair {
  	// Create lookup of key/counts.
  	m := make(map[uint64]uint64, len(p))
  	for _, pair := range p {
  		m[pair.ID] = pair.Count
  	}
  
  	// Add/merge from other.
  	for _, pair := range other {
  		m[pair.ID] += pair.Count
  	}
  
  	// Convert back to slice.
  	a := make([]Pair, 0, len(m))
  	for k, v := range m {
  		a = append(a, Pair{ID: k, Count: v})
  	}
  	return a
  }
docs: // Add merges other into p and returns a new slice.