Your choice of data layout/structure has two consequences: it makes invariants easier to enforce and it makes operations (queries and transforms) easier.

Ergonomic APIs, channel invariants, and data views
from Hillel Wayne ✉️