What about calling range 10 10? Since 10 > 10 is false, the else-clause is evaluated, which is: 10 :: (range 11 10) (I've added the brackets to make the order of evaluation more clear).
E la chiamata a range 10 10? Visto che 10 > 10 è falso, è valutata la clausola else, che è: 10 :: (range 11 10) (Ho aggiunto le parentesi per rendere più chiaro l'ordine in cui le espressioni sono valutate).