Arg package:haskell-gi

C name for the argument. For a escaped name valid in Haskell code, use escapedArgName.
Whether the argument is an "user-data" argument for a callback.
Given a type find the typeclasses the type belongs to, and return the representation of the type in the function signature and the list of typeclass constraints for the type.
In arguments for the given callable on the Haskell side, together with the omitted arguments.
Out arguments for the given callable on the Haskell side.
Given the list of arguments returns the list of constraints and the list of types in the signature.
Write the documentation for the given argument.
Name for the given argument, making sure it is a valid Haskell argument name (and escaping it if not).
Given an input argument to a C callable, and its label in the code, return the list of actions relevant to freeing the memory allocated for the argument (if appropriate, depending on the ownership transfer semantics of the callable).
Same thing as freeInArg, but called in case the call to C didn't succeed. We thus free everything we allocated in preparation for the call, including args that would have been transferred to C.