Data is more tractable than program logic. It follows that where
you see a choice between complexity in data structures and
complexity in code, choose the former. More: in evolving a design,
you should actively seek ways to shift complexity from code to
data.