code: func (h *Histogram) Copy() *Histogram {
  	if h.useLocks {
  		h.mutex.Lock()
  		defer h.mutex.Unlock()
  	}
  
  	newhist := New()
  	newhist.allocd = h.allocd
  	newhist.used = h.used
  	newhist.useLocks = h.useLocks
  
  	newhist.bvs = []bin{}
  	for _, v := range h.bvs {
  		newhist.bvs = append(newhist.bvs, v)
  	}
  
  	for i, u := range h.lookup {
  		for _, v := range u {
  			newhist.lookup[i] = append(newhist.lookup[i], v)
  		}
  	}
  
  	return newhist
  }
docs: // Copy creates and returns an exact copy of a histogram.