template <bool Counting, auto Tag>

struct Count

This is either a wrapper around an integer, or is an empty object.

The tag is unused but makes the two Count types always distinct so

that adjacent empty members with [[no_unique_address]] can be elided.