У вас сам $x в какой-то момент может стать нулём и тогда будет rand(1, 0).
Вероятность этого для 29-3 не очень велика, но есть. Вызовите свою функцию с параметрами 29-29 или просто 1-10 и убедитесь.
Главным образом потому, что они не имеют никакого отношения к решению поставленного вопроса. Вся разница в том, что у стрелочной функции сохраняется контекст, области видимости переменных для них работают точно так же, как и для обычных функций.
Вероятность этого для 29-3 не очень велика, но есть. Вызовите свою функцию с параметрами 29-29 или просто 1-10 и убедитесь.