I thought reconnection was predicated on `driver.ErrBadConn`, no? Doesn't this break reconnection? Obviously, attempting to reconnect with bad credentials is futile, but you don't distinguish the type of error here (e.g., system refusing connections because it's shutting down). Maybe that capability is less valuable than clear error messages when failing to connect, but I hesitate to make this change without some more thought.