Не, прикол в том что он разешает только структурную рекурсию, то есть при каждом рекурсивном вызове функция должна структурно уменьшать 1 из аргументов
Например есть функция факториала, здесь match n матчит аргумент с двумя вариантами
O — n равно нулю, возврат результата 1 S n' — n равно n' плюс один. n' здесь очевидно меньше n
рекурсивный вызов (factorial n') вызывает эту же функцию с аргументом n' который меньше изначального n, значит в какой-то момент рекурсии аргумент n станет равен нулю и рекурсия закончится