Using a compile time mutable registry?

It’s not terribly wrong - they’re both things you interact with by using either a name or an opaque identifier (pids for processes, tid for ETS tables).

You’ll frequently see them used together, where a GenServer will be the “owner” of a long-lived ETS table.

It took a long time to break the “ETS is a database, databases are heavy” thought-pattern for me; it’s a very different set of tradeoffs than anything I’d used before.