// skat_game is declaratively a safe enumeration type: it has // default/copy/move construction/assignment and <=> with // std::strong_ordering, a minimal-size signed underlying type // by default if the user didn't specify a type, no implicit // conversion to/from the underlying type, in fact no public // construction except copy construction so that it can never // have a value different from its listed enumerators, inline // constexpr enumerators with values that automatically start // at 1 and increment by 1 if the user didn't write their own // value, and conveniences like to_string()...