I've just read this in the reference doc of the Int32 module:
Performance notice: values of type int32 occupy more memory space than values of type int, and arithmetic operations on int32 are generally slower than those on int. Use int32 only when the application requires exact 32-bit arithmetic.
Why int32s happen to be generally slower than ints? Is it because they are boxed or something?