code: func causer(e *errorT) Error {
  	if e.err == nil {
  		return e
  	}
  	return &causerT{
  		errorT: e,
  	}
  }
docs: // causer detects whether e wraps another error, and if so
  // returns an Error that also implements the Causer interface.