Currently, method give little detail on error.
A more robust solution would do something like this:
private static string GenerateMessage(string globalErrorMessage, List<Result<T>> failureItems)
{
var sb = new StringBuilder(globalErrorMessage ?? "One or more results failed.");
foreach (var message in failureItems.Select(x => $"- {x.Message}"))
sb.AppendLine().Append(message);
return sb.ToString();
}