Fixed calling convention issue, 1, 2, 4, and 8 byte non primitive value types are converted to integer types instead of array types, this mechanism is used to control which returns use memory and which use registers