ErrorList appears to have some unused potential. It could be a bit easier to use I think. This change proposes the following idiomatic usage. (My actual use-case is still in progress.) Thoughts?
Error idiomaticUse() { ErrorList Errs; Errs.push_back(...); return make_error<ErrorList>(std::move(Errs)); }