code: func unwrapError(ierr error) (nerr error) {
  	// Internal errors have a well defined bit of context.
  	if dbxErr, ok := ierr.(DropboxError); ok {
  		return dbxErr.GetInner()
  	}
  
  	// At this point, if anything goes wrong, just return nil.
  	defer func() {
  		if x := recover(); x != nil {
  			nerr = nil
  		}
  	}()
  
  	// Go system errors have a convention but paradoxically no
  	// interface.  All of these panic on error.
  	errV := reflect.ValueOf(ierr).Elem()
  	errV = errV.FieldByName("Err")
  	return errV.Interface().(error)
  }
docs: // Return a wrapped error or nil if there is none.