Data Modeling ============= .. todo:: - Provides the mechanism by which users define data product types. - Provides a mechanism for connecting in-memory data representations with information needed by the IO backends to read-and-write the data - Responsible for ensuring the same data product is representable in the supported languages - May need to translate from one in-memory representation to another when crossing a language boundary