code: func (a Action) String() string {
  	// Fast path for only one action.
  	if name, ok := actionToName[a]; ok {
  		return name
  	}
  	// Slow path for many actions.
  	var values []string
  	for action, name := range actionToName {
  		if action&a == action {
  			values = append(values, name)
  		}
  	}
  	return strings.Join(values, ", ")
  }
docs: // String returns the action name as a string.