Mon Jan 13 22:16:13 CET 2020

Pointers are expensive

Linked data structures easily ramp up memory usage on 32-bit systems.
Some ways to mitigate:

- use indices into arrays, globally known, or known in context

- same but implicitly in the memory hierarchy.  e.g. take into account
  limited memory size, start of RAM, and alignment.  e.g. a 16-bit
  pointer can address 256k if memory is aligned.

Of course binding to the memory layout is bad for portability.

So indices seem best.