code: func CopyAppend(slice []interface{}, elements ...interface{}) []interface{} {
  	sliceLength := len(slice)
  	newSlice := make([]interface{}, sliceLength+len(elements))
  	for i, e := range slice {
  		newSlice[i] = e
  	}
  	for i, e := range elements {
  		newSlice[sliceLength+i] = e
  	}
  	return newSlice
  }
docs: // Like append but on the interface{} type and always to a fresh backing array
  // so can be used safely with slices over arrays you did not create.