This data structure is used by the Zig language code generation and therefore must be kept in sync with the compiler implementation.
Fields
calling_convention: CallingConvention,
alignment: comptime_int,
is_generic: bool,
is_var_args: bool,
return_type: ?type,
TODO change the language spec to make this not optional.
params: []const Param,