code: func (p *Parameters) Copy(dst []byte) (Parameters, []byte) {
  	ret := Parameters{
  		pos:   p.pos,
  		bytes: p.bytes,
  	}
  	if p.dyn != nil {
  		ret.dyn = make([]pair, len(p.dyn))
  		for i, v := range p.dyn {
  			ret.dyn[i], dst = v.copy(dst)
  		}
  	} else {
  		for i, p := range p.arr {
  			ret.arr[i], dst = p.copy(dst)
  		}
  	}
  	return ret, dst
  }
docs: // Copy copies all underlying []byte slices into dst and returns new
  // Parameters.
  // Note that dst must be at least of p.Size() length.