code: func assignValue(params map[string]interface{}, name string, out *string) error {
  	if raw, ok := params[name]; ok {
  		val, ok := raw.(string)
  		if !ok {
  			return fmt.Errorf("Expecting %s to be a string", name)
  		}
  		*out = val
  		delete(params, name)
  	}
  	return nil
  }
docs: // assignValue is used to extract a value ensuring it is a string