Because the error constructor returned by this function might be AggregateError, which has different construction parameters from the other error constructors, do not use it directly to try to make an error instance. Rather, use makeError which encapsulates this non-uniformity.