func (e *Error) ErrorOrNil() error {
	if e == nil || len(e.Errors) == 0 {
		return nil
	}
	return e
}
ErrorOrNil returns an error interface if the multierror represents a list of
errors or nil if the list is empty.
package multierror
import (
	"errors"
	"fmt"
	"strings"
)
var _ error = (*Error)(nil)
type Error struct {
	Errors []error
}
func New(errs ...error) *Error {
	e := Error{}
	e.Append(errs...)
	return &e
}
func (e *Error) Error() string {
	return format(e.Errors)
}
func (e *Error) Append(errs ...error) {
	e.Errors = append(e.Errors, errs...)
}