message: Add `into_inner` and `Display` implementation for `Nonce`
diff: //! has somewhat complicated logic that is encoded in the `ConnectionHealth` struct, which has
  //! multiple implicit states.
  -use std::time::{Duration, Instant};
  +use std::{
  + fmt::{self, Display, Formatter},
  + time::{Duration, Instant},
  +};
  use datasize::DataSize;
  use rand::Rng;
  @@ -90,6 +93,19 @@ impl TaggedTimestamp {
  #[derive(Clone, Copy, DataSize, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
  pub(crate) struct Nonce(u64);
  +impl Display for Nonce {
  + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
  + write!(f, "{:016X}", self.0)
  + }
  +}
  +
  +impl Nonce {
  + /// Convert the nonce into an integer.
  + pub(crate) fn into_inner(self) -> u64 {
  + self.0
  + }
  +}
  +
  impl rand::distributions::Distribution<Nonce> for rand::distributions::Standard {
  #[inline(always)]
  fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Nonce {
  