.agents/skills/reducing-entropy/references/data-over-abstractions.md
"It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures."
Generic operations on generic data structures beat specialized operations on specialized structures.
Every custom type, wrapper class, or specialized structure:
A Map<String, Value> can be processed by hundreds of existing functions. A SettingsManager class can only be processed by the methods you write for it.
Model the information domain, not the behavior.
Then use generic structures (maps, vectors, sets) to represent that information. The behavior comes from functions that operate on data - not from methods bound to custom objects.
Before creating a new class/type, ask:
If you just need data, use data structures. Save custom types for when you genuinely need custom behavior that can't be a function.
The power is in the combinations, not the custom constructs.