code: func copySlice(slice []byte) []byte {
  	ret := make([]byte, len(slice))
  	copy(ret, slice)
  	return ret
  }
docs: // copySlice returns a copy of the passed slice.  This is mostly used to copy
  // leveldb iterator keys and values since they are only valid until the iterator
  // is moved instead of during the entirety of the transaction.