Fixtype of files.
This is a product type introduced by fty::defprod.
The grammar in [C] does not quite define files in the form we want here. The closest things are preprocessing files [C:6.10/1] and translation units [C:6.9/1]. However, the grammar rule for preprocessing files describes their content before preprocessing [C:5.1.1.1/1] [C:5.1.1.2/3], and the grammar rule for translation units describes their contents after preprocessing (which may involve copying contents of included files). As discussed in abstract-syntax, currently this abstract syntax captures construct both before and after preprocessing (although this will change, as explained in abstract-syntax).
We define a file as consisting of a list of external declarations. This is actually the same as a translation unit (see transunit), but we plan to extend and change this soon. We put the list into a one-field product fixtype so that in the future it may be easier to extend this fixtype.
Note that here by `file' we mean the content of a file, not the file as a full entity of the file system, which also includes a name and possibly other information. We plan to formalize this additional information separately.