code: func (p Parameters) Equal(b Parameters) bool {
  	switch {
  	case p.dyn == nil && b.dyn == nil:
  	case p.dyn != nil && b.dyn != nil:
  	default:
  		return false
  	}
  
  	ad, bd := p.data(), b.data()
  	if len(ad) != len(bd) {
  		return false
  	}
  
  	sort.Sort(pairs(ad))
  	sort.Sort(pairs(bd))
  
  	for i := 0; i < len(ad); i++ {
  		av, bv := ad[i], bd[i]
  		if !bytes.Equal(av.key, bv.key) || !bytes.Equal(av.value, bv.value) {
  			return false
  		}
  	}
  	return true
  }
docs: // Equal reports whether a equal to b.