вот функция умножает элементы в списке, используя стиль CPS
mlist xx k = aux xx k
where aux [] nk = nk 1
aux (0:xs) nk = k 0
aux (x:xs) nk = aux xs $ \v -> mul x v nk
что, если я заменю 'k' на 'nk' в выражении aux (0:xs) nk = k 0, какая разница между ними?