A single contiguous integer axis of a dense index grid.
Carried by Set (see Set::axes) so an crate::IndexedVar
built over a range can store its scalars densely and map
a key to a flat offset without hashing.
Typed projection of an IndexKey. Implementations panic when the
key’s shape does not match the target type, the same contract as
crate::indexed::IndexedVar indexing on a missing key.
Type-level concatenation of index key types, mirroring the runtime tuple
flattening in Set::product. The arity ceiling is 4, matching the
FromIndexKey/From<(...)> tuple implementations.