code: func CopyStringMapInterface(a map[string]interface{}) map[string]interface{} {
  	if a == nil {
  		return nil
  	}
  
  	out := make(map[string]interface{})
  	for key, value := range a {
  		out[key] = value
  	}
  
  	return out
  }
docs: // CopyStringMapInterface makes a deep copy of the passed in map[string]interface{}
  // and returns the copy.