Good point. But, are there practical tools for this? I still have to decide how I store the data in memory. For example,<p><pre><code>    struct Model {
        int numPersons;
        int numAncestors;
        struct Person *person;
        struct Ancestor *ancestor;
    };
</code></pre>
Or SOA instead of AOS?<p><pre><code>    struct Model {
        int numPersons;
        int numAncestors;
        struct string *personname;
        struct string *persondesc;
        struct string *ancestorancestor;
        struct string *ancestordescendant;
    };
</code></pre>
etc. Do you know tools which are in practice a better choice than the super boring ad-hoc code I described? Unless I&#x27;d have to define many of these types of formats the cost of going meta is just too high.