code: func (vars variables) makeCopy() variables {
  	varscopy := make(variables, len(vars))
  	for n, v := range vars {
  		vcopy := *v
  		varscopy[n] = &vcopy
  	}
  	return varscopy
  }
docs: // makeCopy returns a duplicate of a set of shell variables.