We can change everything to `long`, but the purpose of this patch is not to do that.