code: func MultilineError(prefix string, err error) string {
  	if agg, ok := err.(utilerrors.Aggregate); ok {
  		errs := utilerrors.Flatten(agg).Errors()
  		buf := &bytes.Buffer{}
  		switch len(errs) {
  		case 0:
  			return fmt.Sprintf("%s%v\n", prefix, err)
  		case 1:
  			return fmt.Sprintf("%s%v\n", prefix, messageForError(errs[0]))
  		default:
  			fmt.Fprintln(buf, prefix)
  			for _, err := range errs {
  				fmt.Fprintf(buf, "* %v\n", messageForError(err))
  			}
  			return buf.String()
  		}
  	}
  	return fmt.Sprintf("%s%s\n", prefix, err)
  }
docs: // MultilineError returns a string representing an error that splits sub errors into their own
  // lines. The returned string will end with a newline.