Fixtype of ensembles of translation units.
This is a product type introduced by fty::defprod.
This notion has no explicit counterpart in [C], but it is useful to represent, in the abstract syntax, a collection of translation units that form a C program or library or other component. Since translation units are contained in files, it is natural to view a translation unit ensemble as a collection of (parsed) files. Since fileset models a collection of files as a map from file paths to file data (bytes), we use a finite map from file paths to translation units to model ensembles in the abstract syntax.
Currently we do not model preprocessing constructs in our abstract syntax, and so a translation unit as formalized in transunit corresponds exactly to the notion of translation unit in [C]. As we add support for preprocessing constructs, our translation units will be more like something in between proper traslation units and preprocessing translation units. The notion of file set as formalized here will still apply to that case, with some elements of the ensembles that may be headers instead of source files.