code: func Split(name, segment string) ([]string, error) {
  	parts := []string{segment}
  
  	if len(segment) == 0 {
  		return parts, nil // let elsewhere handle the empty single segment
  	}
  
  	if segment[0] == '[' && segment[len(segment)-1] == ']' {
  		parts = strings.Split(segment[1:len(segment)-1], "|")
  		// zero length is checked in parseMultiple
  		if len(parts) == 1 {
  			return nil, errors.New("Single item in segment alternation for " + name + ".")
  		}
  	}
  
  	return parts, nil
  }
docs: // Split separates alternation