New net interface

maybe:

```Go
type struct ErrGroup {
  str string
  errs []error
}

func NewErrGroup(s string, errs []error) error {
  return &ErrGroup{str: s, errs: errs}
}

func (g *ErrGroup) Error() string { 
  return fmt.Sprintf("%s (%d errors)", g.str, len(g.errs))
}

func (g *ErrGroup) Errs() []error {
  return g.errs
}
```