Aggregate aggregates all errors in the ErrorList into a single error.
Returns nil if the ErrorList is either nil or empty.
If the list contains a single error, that error is returned.
Otherwise, a new error is constructed by appending all contained errors' messages.
Append appends all given errors to the ErrorList.
This modifies the receiver object.
nil pointers in the arguments are ignored.
Returns the receiver for chaining.