This merge request changes the definition of GFunctors
into a record.
Changing the definition to a dependent record fixes certain universe inconsistency issues (gFunctors
defined with sigT
imposes universe constraints that are incompatible for the Vellvm project).