message: Allow using deep_to_string_t as inspector
diff: @@ -38,9 +38,16 @@ std::string deep_to_string(const Ts&... xs) {
  return result;
  }
  +/// Wrapper to `deep_to_string` for using the function as an inspector.
  struct deep_to_string_t {
  + using result_type = std::string;
  +
  + static constexpr bool reads_state = true;
  +
  + static constexpr bool writes_state = false;
  +
  template <class... Ts>
  - std::string operator()(const Ts&... xs) const {
  + result_type operator()(const Ts&... xs) const {
  return deep_to_string(xs...);
  }
  };
  