Fixtype of function definitions [C:6.9.1].
This is a product type introduced by fty::defprod.
We model a function definition as consisting of a type specifier sequence, a function declarator, and a body. With respect to [C:6.9.1/1], the type specifier sequence are the declaration specifiers, the function declarator is the declarator, and the body is the compound statement. We do not model function definitions with parameter names and separate declarations for them before the body.
Since the body of a function definition must be a compound statement, we formalize the body as the list of block items that form the compound statement.
Since a function declaration consists of a type specifier sequence and a function declarator, this product fixtype of function definitions is isomorphic to a product fixtype of a function declaration and a body. However, even though this would work in abstract syntax, in concrete syntax a function declaration has to end with a semicolon (and that is why the grammar rule in [C:6.9.1/1] does not use a declaration, but rather its components).