message: Change variant type_caster back to struct for public inheritance
  We could use ` : public ...` but let's stick to the struct for the sake of consistency with the pybind11 docs.
diff: @@ -43,7 +43,7 @@ namespace detail {
  * @brief Type caster for mpark::variant, which is used when the compiler doesn't have <variant> (e.g. on Apple).
  */
  template <typename... Ts>
  -class type_caster<mpark::variant<Ts...>> : variant_caster<mpark::variant<Ts...>>
  +struct type_caster<mpark::variant<Ts...>> : variant_caster<mpark::variant<Ts...>>
  {
  };
  