Arg package:ghc

Type synonym for expressions that occur in function argument positions. Only Arg should contain a Type at top level, general Expr should not
Stores Reductions as well as a kind coercion. Used when rewriting arguments to a type function f. Invariant: when the stored reductions are of the form co_i :: ty_i ~ xi_i, the kind coercion is of the form kco :: typeKind (f ty_1 ... ty_n) ~ typeKind (f xi_1 ... xi_n) The type function f depends on context.
An ArgDescr describes the argument pattern of a function
Whether the error pertains to a function argument or a result.
The position of an argument (to be reported in an error message).
Invisible argument: don't report its position to the user.
Visible argument in i-th position.
In the i-th argument of a function arrow