message: span: Add BytePtr helper
diff: @@ -243,16 +243,21 @@ T& SpanPopBack(Span<T>& span)
  return back;
  }
  +//! Convert a data pointer to a std::byte data pointer.
  +//! Where possible, please use the safer AsBytes helpers.
  +inline const std::byte* BytePtr(const void* data) { return reinterpret_cast<const std::byte*>(data); }
  +inline std::byte* BytePtr(void* data) { return reinterpret_cast<std::byte*>(data); }
  +
  // From C++20 as_bytes and as_writeable_bytes
  template <typename T>
  Span<const std::byte> AsBytes(Span<T> s) noexcept
  {
  - return {reinterpret_cast<const std::byte*>(s.data()), s.size_bytes()};
  + return {BytePtr(s.data()), s.size_bytes()};
  }
  template <typename T>
  Span<std::byte> AsWritableBytes(Span<T> s) noexcept
  {
  - return {reinterpret_cast<std::byte*>(s.data()), s.size_bytes()};
  + return {BytePtr(s.data()), s.size_bytes()};
  }
  template <typename V>
  