type Error … // NewError creates an Error. func NewError(context *Context, message string) *Error { … } func (err *Error) locationDescription() string { … } // Error returns the string value of an Error. func (err *Error) Error() string { … } type ErrorGroup … // NewErrorGroupOrNil returns a new ErrorGroup for a slice of errors or nil if the slice is empty. func NewErrorGroupOrNil(errors []error) error { … } func (group *ErrorGroup) Error() string { … }